| diff --git a/Headers/DJIAirLink.h b/Headers/DJIAirLink.h
|
| index 2865485..9b5b6c2 100644
|
| 3.1.1/Headers/DJIAirLink.h | 3.2/Headers/DJIAirLink.h |
| ⋮ | ⋮ |
| 14 | | 14 | |
| 15 | /** | 15 | /** |
| 16 | ·* | 16 | ·* |
| 17 | ·*··The·class·contains·different·wireless·links·between·the·aircraft,·the·remote·controller·and·the·mobile·device.·A·product·may·only·support·some·of·the·wireless·links·within·DJIAirLink.·Check·the·query·method·(e.g.·isWiFiLinkSupported)·before·accessing·a·wireless·link. | 17 | ·*··The·class·contains·different·wireless·links·between·the·aircraft,·the·remote·controller·and·the·mobile·device.·To·determine·whether·the·current·device·supports·WiFi·and·Lightbridge·features,·call·`isWifiLinkSupported`·or·`isLBAirLinkSupported`. |
| 18 | ·* | 18 | ·* |
| 19 | ·*···With·the·Osmo·the·mobile·device·communicates·directly·via·wifi. | 19 | ·*···With·the·Osmo·the·mobile·device·communicates·directly·via·wifi. |
| 20 | ·*/ | 20 | ·*/ |
| ⋮ | ⋮ |
| 43 | ·*··Returns·the·WiFi·Air·Link·if·it·is·available. | 43 | ·*··Returns·the·WiFi·Air·Link·if·it·is·available. |
| 44 | ·* | 44 | ·* |
| 45 | ·*/ | 45 | ·*/ |
| 46 | @property·(nonatomic,·strong)·DJIWiFiLink·*wifiLink; | 46 | @property·(nonatomic,·strong)·DJIWiFiLink·*_Nullable·wifiLink; |
| 47 | | 47 | |
| 48 | /** | 48 | /** |
| 49 | ·*··Returns·the·Lightbridge·Air·Link·if·it·is·available. | 49 | ·*··Returns·the·Lightbridge·Air·Link·if·it·is·available. |
| 50 | ·* | 50 | ·* |
| 51 | ·*/ | 51 | ·*/ |
| 52 | @property·(nonatomic,·strong)·DJILBAirLink·*lbAirLink; | 52 | @property·(nonatomic,·strong)·DJILBAirLink·*_Nullable·lbAirLink; |
| 53 | | 53 | |
| 54 | /** | 54 | /** |
| 55 | ·*··Returns·the·Auxiliary·Control·Air·Link·if·it·is·available. | 55 | ·*··Returns·the·Auxiliary·Control·Air·Link·if·it·is·available. |
| 56 | ·*/ | 56 | ·*/ |
| 57 | @property·(nonatomic,·strong)·DJIAuxLink·*auxLink; | 57 | @property·(nonatomic,·strong)·DJIAuxLink·*_Nullable·auxLink; |
| 58 | | 58 | |
| 59 | @end | 59 | @end |
| diff --git a/Headers/DJIAircraft.h b/Headers/DJIAircraft.h
|
| index 3ff604b..7bce729 100755
|
| 3.1.1/Headers/DJIAircraft.h | 3.2/Headers/DJIAircraft.h |
| ⋮ | ⋮ |
| 14 | @class·DJIRemoteController; | 14 | @class·DJIRemoteController; |
| 15 | @class·DJICamera; | 15 | @class·DJICamera; |
| 16 | @class·DJIAirLink; | 16 | @class·DJIAirLink; |
| 17 | @protocol·DJIAircraftDelegate; | |
| 18 | | 17 | |
| 19 | NS_ASSUME_NONNULL_BEGIN | 18 | NS_ASSUME_NONNULL_BEGIN |
| 20 | | 19 | |
| ⋮ | ⋮ |
| 58 | ·*··The·Aircraft's·model·name·is·Phantom·4. | 57 | ·*··The·Aircraft's·model·name·is·Phantom·4. |
| 59 | ·*/ | 58 | ·*/ |
| 60 | extern·NSString·*const·DJIAircraftModelNamePhantom4; | 59 | extern·NSString·*const·DJIAircraftModelNamePhantom4; |
| | 60 | /** |
| | 61 | ·*··The·Aircraft's·model·name·is·Matrice·600. |
| | 62 | ·*/ |
| | 63 | extern·NSString·*const·DJIAircraftModelNameMatrice600; |
| 61 | | 64 | |
| 62 | /** | 65 | /** |
| 63 | ·*··This·class·contains·the·components·of·an·aircraft. | 66 | ·*··This·class·contains·the·components·of·an·aircraft. |
| ⋮ | ⋮ |
| 86 | @property(nonatomic,·readonly)·DJIGimbal·*_Nullable·gimbal; | 89 | @property(nonatomic,·readonly)·DJIGimbal·*_Nullable·gimbal; |
| 87 | | 90 | |
| 88 | /** | 91 | /** |
| 89 | ·*··Returns·an·instance·of·the·aircraft's·smart·battery. | 92 | ·*··Returns·an·instance·of·the·aircraft's·smart·battery.· |
| 90 | ·* | 93 | ·* |
| 91 | ·*··@see·DJIBattery | 94 | ·*··@see·DJIBattery |
| 92 | ·*/ | 95 | ·*/ |
| 93 | @property(nonatomic,·readonly)·DJIBattery·*_Nullable·battery; | 96 | @property(nonatomic,·readonly)·DJIBattery·*_Nullable·battery; |
| 94 | | 97 | |
| 95 | /** | 98 | /** |
| | 99 | ·*··Returns·an·array·of·aircraft's·batteries. |
| | 100 | ·*··It·is·used·when·the·aircraft·has·multiple·batteries,·e.g.·Matrice·600. |
| | 101 | ·* |
| | 102 | ·*··@see·DJIBattery |
| | 103 | ·*/ |
| | 104 | @property(nonatomic,·readonly)·NSArray<DJIBattery·*>·*_Nullable·batteries; |
| | 105 | |
| | 106 | /** |
| 96 | ·*··Returns·an·instance·of·the·aircraft's·remote·controller. | 107 | ·*··Returns·an·instance·of·the·aircraft's·remote·controller. |
| 97 | ·* | 108 | ·* |
| 98 | ·*··@see·DJIRemoteController | 109 | ·*··@see·DJIRemoteController |
| diff --git a/Headers/DJIBaseProduct.h b/Headers/DJIBaseProduct.h
|
| index 31df2c5..5ff1d13 100644
|
| 3.1.1/Headers/DJIBaseProduct.h | 3.2/Headers/DJIBaseProduct.h |
| ⋮ | ⋮ |
| 56 | | 56 | |
| 57 | @class·DJIBaseComponent; | 57 | @class·DJIBaseComponent; |
| 58 | @class·DJIBaseProduct; | 58 | @class·DJIBaseProduct; |
| | 59 | @class·DJIDiagnostics; |
| 59 | | 60 | |
| 60 | /** | 61 | /** |
| 61 | ·* | 62 | ·* |
| ⋮ | ⋮ |
| 78 | ·*/ | 79 | ·*/ |
| 79 | -·(void)product:(DJIBaseProduct·*)product·connectivityChanged:(BOOL)isConnected; | 80 | -·(void)product:(DJIBaseProduct·*)product·connectivityChanged:(BOOL)isConnected; |
| 80 | | 81 | |
| | 82 | /** |
| | 83 | ·*··Callback·function·that·updates·the·product's·current·diagnostics·information. |
| | 84 | ·* |
| | 85 | ·*/ |
| | 86 | -·(void)product:(DJIBaseProduct*·_Nonnull)product·didUpdateDiagnosticsInformation:(NSArray*·_Nonnull)info; |
| | 87 | |
| 81 | @end | 88 | @end |
| 82 | | 89 | |
| 83 | /** | 90 | /** |
| diff --git a/Headers/DJIBattery.h b/Headers/DJIBattery.h
|
| index dd662a5..37bd401 100644
|
| 3.1.1/Headers/DJIBattery.h | 3.2/Headers/DJIBattery.h |
| ⋮ | ⋮ |
| 164 | ·*··@param·battery······Battery·having·an·updated·state. | 164 | ·*··@param·battery······Battery·having·an·updated·state. |
| 165 | ·*··@param·batteryState·The·battery's·state. | 165 | ·*··@param·batteryState·The·battery's·state. |
| 166 | ·*/ | 166 | ·*/ |
| 167 | -·(void)battery:(DJIBattery·*)battery·didUpdateState:(DJIBatteryState·*)batteryState; | 167 | -·(void)battery:(DJIBattery·*_Nonnull)battery·didUpdateState:(DJIBatteryState·*_Nonnull)batteryState; |
| | 168 | |
| | 169 | @end |
| | 170 | |
| | 171 | /*********************************************************************************/ |
| | 172 | #pragma·mark·-·DJIBatteryOverview |
| | 173 | /*********************************************************************************/ |
| | 174 | |
| | 175 | /** |
| | 176 | ·*··Provides·an·overview·of·a·battery·-·used·when·multiple·batteries·are·deployed·on·one·product. |
| | 177 | ·*/ |
| | 178 | @interface·DJIBatteryOverview·:·NSObject |
| | 179 | |
| | 180 | /** |
| | 181 | ·*··Index·of·the·battery.·Index·starts·from·0. |
| | 182 | ·*··For·Matrice·600,·the·number·1·battery·compartment·relates·to·index·0. |
| | 183 | ·*/ |
| | 184 | @property(nonatomic,·readonly)·NSUInteger·index; |
| | 185 | /** |
| | 186 | ·*··`YES`·if·the·battery·is·currently·connected·to·the·aircraft. |
| | 187 | ·*/ |
| | 188 | @property(nonatomic,·readonly)·BOOL·isConnected; |
| | 189 | /** |
| | 190 | ·*··The·remaining·percentage·energy·of·the·battery·with·range·[0,100]. |
| | 191 | ·*/ |
| | 192 | @property(nonatomic,·readonly)·NSInteger·energyRemainingPercent; |
| | 193 | |
| | 194 | @end |
| | 195 | |
| | 196 | /*********************************************************************************/ |
| | 197 | #pragma·mark·-·DJIBatteryAggregationState |
| | 198 | /*********************************************************************************/ |
| | 199 | |
| | 200 | /** |
| | 201 | ·*··Provides·a·real·time·summary·of·the·aggregated·battery·system.· |
| | 202 | ·*··Only·supported·by·M600. |
| | 203 | ·*/ |
| | 204 | @interface·DJIBatteryAggregationState·:·NSObject |
| | 205 | |
| | 206 | /** |
| | 207 | ·*··The·number·of·currently·connected·batteries. |
| | 208 | ·*/ |
| | 209 | @property(nonatomic,·readonly)·NSUInteger·numberOfConnectedBatteries; |
| | 210 | |
| | 211 | /** |
| | 212 | ·*··Returns·the·overview·of·batteries·in·the·battery·group.·When·a·battery·is·not·connected,·the·`isConnected`·property·is·`NO`·and·the·`energyRemainingPercent`·is·zero. |
| | 213 | ·*··For·Matrice·600,·there·are·6·elements·in·`batteryOverviews`. |
| | 214 | ·*/ |
| | 215 | @property(nonatomic,·readonly)·NSArray<DJIBatteryOverview·*>*_Nullable·batteryOverviews; |
| | 216 | /** |
| | 217 | ·*··Returns·the·current·voltage·(mV)·provided·by·the·battery·group. |
| | 218 | ·*/ |
| | 219 | @property(nonatomic,·readonly)·NSInteger·currentVoltage; |
| | 220 | /** |
| | 221 | ·*··Returns·the·real·time·current·draw·through·the·batteries.·A·negative·value·means·the·batteries·are·being·discharged. |
| | 222 | ·*/ |
| | 223 | @property(nonatomic,·readonly)·NSInteger·currentCurrent; |
| | 224 | /** |
| | 225 | ·*··Returns·the·the·total·amount·of·energy,·in·mAh·(milliamp·hours),·stored·in·the·batteries·when·the·batteries·are·fully·charged. |
| | 226 | ·*/ |
| | 227 | @property(nonatomic,·readonly)·NSInteger·fullChargeEnergy; |
| | 228 | /** |
| | 229 | ·*··Returns·the·remaining·energy·stored·in·the·batteries·in·mAh·(milliamp·hours). |
| | 230 | ·*/ |
| | 231 | @property(nonatomic,·readonly)·NSInteger·currentEnergy; |
| | 232 | /** |
| | 233 | ·*··Returns·the·percentage·of·energy·left·in·the·battery·group·with·range·[0·-·100]. |
| | 234 | ·*/ |
| | 235 | @property(nonatomic,·readonly)·NSInteger·energyRemainingPercent; |
| | 236 | /** |
| | 237 | ·*··Returns·the·highest·temperature·(in·Centigrade)·among·the·batteries·in·the·group,·with·a·range·[-128·to·127]. |
| | 238 | ·*/ |
| | 239 | @property(nonatomic,·readonly)·NSInteger·highestBatteryTemperature; |
| | 240 | /** |
| | 241 | ·*··`YES`·if·one·of·the·batteries·in·the·group·is·disconnected.·When·it·is·`YES`,·the·aircraft·is·not·allowed·to·take·off. |
| | 242 | ·*/ |
| | 243 | @property(nonatomic,·readonly)·BOOL·batteryDisconnected; |
| | 244 | /** |
| | 245 | ·*··`YES`·if·there·is·significant·difference·between·the·voltage·(above·1.5V)·of·two·batteries.·When·it·is·`YES`,·the·aircraft·is·not·allowed·to·take·off. |
| | 246 | ·*/ |
| | 247 | @property(nonatomic,·readonly)·BOOL·voltageDifferenceDetected; |
| | 248 | /** |
| | 249 | ·*··`YES`·if·one·of·the·batteries·in·the·group·has·cells·with·low·voltage.·When·it·is·`YES`,·the·aircraft·is·not·allow·to·take·off. |
| | 250 | ·*/ |
| | 251 | @property(nonatomic,·readonly)·BOOL·lowCellVoltageDetected; |
| | 252 | /** |
| | 253 | ·*··`YES`·if·one·of·the·batteries·in·the·group·has·damaged·cells.·When·it·is·`YES`,·the·aircraft·is·not·allow·to·take·off. |
| | 254 | ·*/ |
| | 255 | @property(nonatomic,·readonly)·BOOL·hasDamagedCell; |
| | 256 | /** |
| | 257 | ·*··`YES`·if·one·of·the·batteries·in·the·group·has·a·firmware·version·different·from·the·others.·When·it·is·`YES`,·the·aircraft·is·not·allow·to·take·off. |
| | 258 | ·*/ |
| | 259 | @property(nonatomic,·readonly)·BOOL·firmwareDifferenceDetected; |
| | 260 | |
| | 261 | @end |
| | 262 | |
| | 263 | /*********************************************************************************/ |
| | 264 | #pragma·mark·-·DJIBatteryAggregationDelegate |
| | 265 | /*********************************************************************************/ |
| | 266 | |
| | 267 | /** |
| | 268 | ·*··This·protocol·provides·a·delegate·method·for·you·to·update·the·battery's·current·state. |
| | 269 | ·*/ |
| | 270 | @protocol·DJIBatteryAggregationDelegate·<NSObject> |
| | 271 | |
| | 272 | @optional |
| | 273 | |
| | 274 | /** |
| | 275 | ·*··Updates·the·aggregate·information·of·the·batteries. |
| | 276 | ·*··Only·supported·by·M600. |
| | 277 | ·* |
| | 278 | ·*··@param·batteryState·The·battery's·state. |
| | 279 | ·*/ |
| | 280 | -·(void)batteriesDidUpdateState:(DJIBatteryAggregationState·*_Nonnull)batteryState; |
| 168 | | 281 | |
| 169 | @end | 282 | @end |
| 170 | | 283 | |
| ⋮ | ⋮ |
| 178 | @interface·DJIBattery·:·DJIBaseComponent | 291 | @interface·DJIBattery·:·DJIBaseComponent |
| 179 | | 292 | |
| 180 | /** | 293 | /** |
| | 294 | ·*··Sets·the·delegate·to·receive·the·battery·aggregation·information. |
| | 295 | ·*··Only·supported·by·Matrice·600. |
| | 296 | ·* |
| | 297 | ·*··@param·delegate·The·delegate·that·will·receive·the·aggregation·information. |
| | 298 | ·*/ |
| | 299 | +(void)setAggregationDelegate:(id<DJIBatteryAggregationDelegate>_Nullable)delegate; |
| | 300 | /** |
| | 301 | ·*··Gets·the·delegate·that·receives·the·battery·aggregation·state.·It·is·only·useful·when·the·aircraft·has·multiple·batteries. |
| | 302 | ·*··Only·supported·by·Matrice·600. |
| | 303 | ·* |
| | 304 | ·*··@return·the·delegate·receives·the·battery·aggregation·state. |
| | 305 | ·*/ |
| | 306 | +(id<DJIBatteryAggregationDelegate>_Nullable)aggregationDelegate; |
| | 307 | |
| | 308 | /** |
| | 309 | ·*··Returns·the·index·of·the·battery.·It·is·useful·when·the·aircraft·has·multiple·batteries.·Index·starts·from·0.·For·products·with·only·one·battery,·the·index·is·0. |
| | 310 | ·*··For·Matrice·600,·there·are·printed·numbers·on·the·battery·boxes.·DJIBattery·instance·with·index·0·corresponds·to·battery·compartment·number·1. |
| | 311 | ·*/ |
| | 312 | @property(nonatomic,·readonly)·NSUInteger·index;· |
| | 313 | |
| | 314 | /** |
| 181 | ·*··Returns·the·number·of·battery·cells. | 315 | ·*··Returns·the·number·of·battery·cells. |
| 182 | ·*/ | 316 | ·*/ |
| 183 | @property(nonatomic,·readonly)·NSUInteger·numberOfCell; | 317 | @property(nonatomic,·readonly)·NSUInteger·numberOfCell; |
| ⋮ | ⋮ |
| 192 | ·*/ | 326 | ·*/ |
| 193 | -·(BOOL)isSmartBattery; | 327 | -·(BOOL)isSmartBattery; |
| 194 | | 328 | |
| 195 | //----------------------------------------------------------------- | 329 | /*********************************************************************************/ |
| 196 | #pragma·mark·Get·battery·properties·and·status | 330 | #pragma·mark·Get·battery·properties·and·status |
| 197 | //----------------------------------------------------------------- | 331 | /*********************************************************************************/ |
| | 332 | |
| 198 | /** | 333 | /** |
| 199 | ·*··Gets·the·battery's·history.·The·DJI·battery·keeps·the·history·for | 334 | ·*··Gets·the·battery's·history.·The·DJI·battery·keeps·the·history·for |
| 200 | ·*··the·past·30·days.·The·`history`·variable·in·the·block·stores·objects·of·type | 335 | ·*··the·past·30·days.·The·`history`·variable·in·the·block·stores·objects·of·type |
| ⋮ | ⋮ |
| 204 | ·* | 339 | ·* |
| 205 | ·*··@param·block·Remote·execution·result·callback·block. | 340 | ·*··@param·block·Remote·execution·result·callback·block. |
| 206 | ·*/ | 341 | ·*/ |
| 207 | -·(void)getWarningInformationRecordsWithCompletion:(void·(^)(NSArray<DJIBatteryWarningInformation·*>·*history,·NSError·*_Nullable·error))block; | 342 | -·(void)getWarningInformationRecordsWithCompletion:(void·(^_Nonnull)(NSArray<DJIBatteryWarningInformation·*>·*_Nullable·history,·NSError·*_Nullable·error))block; |
| 208 | | 343 | |
| 209 | /** | 344 | /** |
| 210 | ·*··Gets·the·battery's·current·state,·which·is·one·of·seven·battery·states·that | 345 | ·*··Gets·the·battery's·current·state,·which·is·one·of·seven·battery·states·that |
| ⋮ | ⋮ |
| 213 | ·* | 348 | ·* |
| 214 | ·*··@param·block·Remote·execution·result·callback·block. | 349 | ·*··@param·block·Remote·execution·result·callback·block. |
| 215 | ·*/ | 350 | ·*/ |
| 216 | -·(void)getCurrentWarningInformationWithCompletion:(void·(^)(DJIBatteryWarningInformation·*state,·NSError·*_Nullable·error))block; | 351 | -·(void)getCurrentWarningInformationWithCompletion:(void·(^_Nonnull)(DJIBatteryWarningInformation·*_Nullable·state,·NSError·*_Nullable·error))block; |
| 217 | | 352 | |
| 218 | /** | 353 | /** |
| 219 | ·*··Gets·the·battery's·cell·voltages.·The·`cellArray`·variable·stores·`DJIBatteryCell`·objects.·Since·the·Inspire·1·battery·has·6·cells,·`cellArray` | 354 | ·*··Gets·the·battery's·cell·voltages.·The·`cellArray`·variable·stores·`DJIBatteryCell`·objects.·Since·the·Inspire·1·battery·has·6·cells,·`cellArray` |
| ⋮ | ⋮ |
| 221 | ·* | 356 | ·* |
| 222 | ·*··@param·block·Remote·execution·result·callback·block. | 357 | ·*··@param·block·Remote·execution·result·callback·block. |
| 223 | ·*/ | 358 | ·*/ |
| 224 | -·(void)getCellVoltagesWithCompletion:(void·(^)(NSArray<DJIBatteryCell·*>·*cellArray,·NSError·*_Nullable·error))block; | 359 | -·(void)getCellVoltagesWithCompletion:(void·(^_Nonnull)(NSArray<DJIBatteryCell·*>·*_Nullable·cellArray,·NSError·*_Nullable·error))block; |
| 225 | | 360 | |
| 226 | //----------------------------------------------------------------- | 361 | /*********************************************************************************/ |
| 227 | #pragma·mark·Battery·self·discharge | 362 | #pragma·mark·Battery·self·discharge |
| 228 | //----------------------------------------------------------------- | 363 | /*********************************************************************************/ |
| | 364 | |
| 229 | /** | 365 | /** |
| 230 | ·*··Sets·the·battery's·custom·self-discharge·configuration·in·the·range·of·[1,·10]·days. | 366 | ·*··Sets·the·battery's·custom·self-discharge·configuration·in·the·range·of·[1,·10]·days. |
| 231 | ·*··For·example,·if·the·value·for·`day`·is·`10`,·the·battery·will·discharge·over | 367 | ·*··For·example,·if·the·value·for·`day`·is·`10`,·the·battery·will·discharge·over |
| ⋮ | ⋮ |
| 243 | ·* | 379 | ·* |
| 244 | ·*··@param·result·Remote·execution·result·error·block. | 380 | ·*··@param·result·Remote·execution·result·error·block. |
| 245 | ·*/ | 381 | ·*/ |
| 246 | -·(void)getSelfDischargeDayWithCompletion:(void·(^)(uint8_t·day,·NSError·*_Nullable·error))block; | 382 | -·(void)getSelfDischargeDayWithCompletion:(void·(^_Nonnull)(uint8_t·day,·NSError·*_Nullable·error))block; |
| 247 | | 383 | |
| 248 | @end | 384 | @end |
| 249 | | 385 | |
| diff --git a/Headers/DJICamera.h b/Headers/DJICamera.h
|
| index b2ffe70..bb47d5e 100644
|
| 3.1.1/Headers/DJICamera.h | 3.2/Headers/DJICamera.h |
| ⋮ | ⋮ |
| 132 | ·*··units·for·the·video·buffer·are·bytes. | 132 | ·*··units·for·the·video·buffer·are·bytes. |
| 133 | ·*··@param·length······Size·of·the·address·of·the·video·data·buffer·in·bytes. | 133 | ·*··@param·length······Size·of·the·address·of·the·video·data·buffer·in·bytes. |
| 134 | ·*/ | 134 | ·*/ |
| 135 | -·(void)camera:(DJICamera·*)camera·didReceiveVideoData:(uint8_t·*)videoBuffer·length:(size_t)size; | 135 | -·(void)camera:(DJICamera·*_Nonnull)camera·didReceiveVideoData:(uint8_t·*)videoBuffer·length:(size_t)size; |
| 136 | | 136 | |
| 137 | /** | 137 | /** |
| 138 | ·*··Updates·the·camera's·current·state. | 138 | ·*··Updates·the·camera's·current·state. |
| ⋮ | ⋮ |
| 140 | ·*··@param·camera······Camera·that·updates·the·current·state. | 140 | ·*··@param·camera······Camera·that·updates·the·current·state. |
| 141 | ·*··@param·systemState·The·camera's·system·state. | 141 | ·*··@param·systemState·The·camera's·system·state. |
| 142 | ·*/ | 142 | ·*/ |
| 143 | -·(void)camera:(DJICamera·*)camera·didUpdateSystemState:(DJICameraSystemState·*)systemState; | 143 | -·(void)camera:(DJICamera·*_Nonnull)camera·didUpdateSystemState:(DJICameraSystemState·*_Nonnull)systemState; |
| 144 | | 144 | |
| 145 | /** | 145 | /** |
| 146 | ·*··Tells·the·delegate·that·the·lens·information·is·updated. | 146 | ·*··Tells·the·delegate·that·the·lens·information·is·updated. |
| ⋮ | ⋮ |
| 149 | ·*··@param·camera······Camera·that·sends·out·the·updatd·lens·information. | 149 | ·*··@param·camera······Camera·that·sends·out·the·updatd·lens·information. |
| 150 | ·*··@param·lensState···The·camera's·lens·state. | 150 | ·*··@param·lensState···The·camera's·lens·state. |
| 151 | ·*/ | 151 | ·*/ |
| 152 | -·(void)camera:(DJICamera·*)camera·didUpdateLensState:(DJICameraLensState·*)lensState; | 152 | -·(void)camera:(DJICamera·*_Nonnull)camera·didUpdateLensState:(DJICameraLensState·*_Nonnull)lensState; |
| 153 | | 153 | |
| 154 | /** | 154 | /** |
| 155 | ·*··Tells·the·delegate·that·a·new·media·file·(photo·or·video)·has·been·generated. | 155 | ·*··Tells·the·delegate·that·a·new·media·file·(photo·or·video)·has·been·generated. |
| ⋮ | ⋮ |
| 159 | ·* | 159 | ·* |
| 160 | ·*··@warning·In·this·delegate,·the·`DJIMedia`·instance·properties·`thumbnail`·and·`durationInSeconds`·require·special·consideration.·The·`thumbnail`·property·normally·has·a·pointer·to·a·`UIImage`·of·the·thumbnail,·but·this·is·only·available·when·the·camera·is·in·`DJICameraModeMediaDownload`·work·mode.·Additionally,·for·this·instance·of·`DJIMedia`,·the·`durationInSeconds`·property·is·0. | 160 | ·*··@warning·In·this·delegate,·the·`DJIMedia`·instance·properties·`thumbnail`·and·`durationInSeconds`·require·special·consideration.·The·`thumbnail`·property·normally·has·a·pointer·to·a·`UIImage`·of·the·thumbnail,·but·this·is·only·available·when·the·camera·is·in·`DJICameraModeMediaDownload`·work·mode.·Additionally,·for·this·instance·of·`DJIMedia`,·the·`durationInSeconds`·property·is·0. |
| 161 | ·*/ | 161 | ·*/ |
| 162 | -·(void)camera:(DJICamera·*)camera·didGenerateNewMediaFile:(DJIMedia·*)newMedia; | 162 | -·(void)camera:(DJICamera·*_Nonnull)camera·didGenerateNewMediaFile:(DJIMedia·*_Nonnull)newMedia; |
| 163 | | 163 | |
| 164 | /** | 164 | /** |
| 165 | ·*··Tells·the·delegate·that·a·time-lapse·preview·image·has·been·generated. | 165 | ·*··Tells·the·delegate·that·a·time-lapse·preview·image·has·been·generated. |
| ⋮ | ⋮ |
| 168 | ·*··@param·camera·······Camera·that·generates·the·time-lapse·preview·image. | 168 | ·*··@param·camera·······Camera·that·generates·the·time-lapse·preview·image. |
| 169 | ·*··@param·previewImage·The·new·generated·preview·image. | 169 | ·*··@param·previewImage·The·new·generated·preview·image. |
| 170 | ·*/ | 170 | ·*/ |
| 171 | -·(void)camera:(DJICamera·*)camera·didGenerateTimeLapsePreview:(UIImage·*)previewImage; | 171 | -·(void)camera:(DJICamera·*_Nonnull)camera·didGenerateTimeLapsePreview:(UIImage·*_Nonnull)previewImage; |
| 172 | | 172 | |
| 173 | /** | 173 | /** |
| 174 | ·*··Tells·the·delegate·that·the·camera's·SD·card·state·has·been·updated. | 174 | ·*··Tells·the·delegate·that·the·camera's·SD·card·state·has·been·updated. |
| ⋮ | ⋮ |
| 176 | ·*··@param·camera·······Camera·that·sends·out·the·updated·SD·card·state. | 176 | ·*··@param·camera·······Camera·that·sends·out·the·updated·SD·card·state. |
| 177 | ·*··@param·sdCardState··The·camera's·SD·card·state. | 177 | ·*··@param·sdCardState··The·camera's·SD·card·state. |
| 178 | ·*/ | 178 | ·*/ |
| 179 | -·(void)camera:(DJICamera·*)camera·didUpdateSDCardState:(DJICameraSDCardState·*)sdCardState; | 179 | -·(void)camera:(DJICamera·*_Nonnull)camera·didUpdateSDCardState:(DJICameraSDCardState·*_Nonnull)sdCardState; |
| 180 | | 180 | |
| 181 | /** | 181 | /** |
| 182 | ·*··Tells·the·delegate·that·the·camera's·SSD·state·has·been·updated. | 182 | ·*··Tells·the·delegate·that·the·camera's·SSD·state·has·been·updated. |
| ⋮ | ⋮ |
| 185 | ·*··@param·camera···Camera·that·sends·out·the·updated·SSD·state. | 185 | ·*··@param·camera···Camera·that·sends·out·the·updated·SSD·state. |
| 186 | ·*··@param·ssdState·The·camera's·SSD·state. | 186 | ·*··@param·ssdState·The·camera's·SSD·state. |
| 187 | ·*/ | 187 | ·*/ |
| 188 | -·(void)camera:(DJICamera·*)camera·didUpdateSSDState:(DJICameraSSDState·*)ssdState; | 188 | -·(void)camera:(DJICamera·*_Nonnull)camera·didUpdateSSDState:(DJICameraSSDState·*_Nonnull)ssdState; |
| 189 | | 189 | |
| 190 | /** | 190 | /** |
| 191 | ·*··Called·whenever·the·camera·parameters·change.·In·automatic·exposure·modes·(Program,·Shutter·Priority·and·Aperture·Priority)·the·camera·may·be·automatically·changing·aperture,·shutter·speed·and·ISO·(depending·on·the·mode·and·camera)·when·lighting·conditions·change.·In·Manual·mode,·the·exposure·compensation·is·automatically·updated·to·let·the·user·know·how·much·compensation·the·exposure·needs·to·get·to·an·exposure·the·camera·calculates·as·correct. | 191 | ·*··Called·whenever·the·camera·parameters·change.·In·automatic·exposure·modes·(Program,·Shutter·Priority·and·Aperture·Priority)·the·camera·may·be·automatically·changing·aperture,·shutter·speed·and·ISO·(depending·on·the·mode·and·camera)·when·lighting·conditions·change.·In·Manual·mode,·the·exposure·compensation·is·automatically·updated·to·let·the·user·know·how·much·compensation·the·exposure·needs·to·get·to·an·exposure·the·camera·calculates·as·correct. |
| ⋮ | ⋮ |
| 195 | ·* | 195 | ·* |
| 196 | ·*··@see·DJICameraExposureParameters | 196 | ·*··@see·DJICameraExposureParameters |
| 197 | ·*/ | 197 | ·*/ |
| 198 | -·(void)camera:(DJICamera·*)camera·didUpdateCurrentExposureValues:(DJICameraExposureParameters·*)values; | 198 | -·(void)camera:(DJICamera·*_Nonnull)camera·didUpdateCurrentExposureValues:(DJICameraExposureParameters·*_Nonnull)values; |
| 199 | | 199 | |
| 200 | /** | 200 | /** |
| 201 | ·*··Received·temperature·in·degrees·Celsius·of·image.·For·the·XT,·the·temperature·measurement·data·is·the·average·of·the·center·four·pixels·of·the·image.·The·thermal·imaging·camera·will·only·update·the·temperature·if·the·temperature·data·is·enabled. | 201 | ·*··Received·temperature·in·degrees·Celsius·of·image.·For·the·XT,·the·temperature·measurement·data·is·the·average·of·the·center·four·pixels·of·the·image.·The·thermal·imaging·camera·will·only·update·the·temperature·if·the·temperature·data·is·enabled. |
| ⋮ | ⋮ |
| 204 | ·*··@param·temperature·The·camera's·temperature·data·in·degrees·Celsius. | 204 | ·*··@param·temperature·The·camera's·temperature·data·in·degrees·Celsius. |
| 205 | ·*··@see·[-·(void)setThermalTemperatureDataEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)block]. | 205 | ·*··@see·[-·(void)setThermalTemperatureDataEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)block]. |
| 206 | ·*/ | 206 | ·*/ |
| 207 | -·(void)camera:(DJICamera·*)camera·didUpdateTemperatureData:(float)temperature; | 207 | -·(void)camera:(DJICamera·*_Nonnull)camera·didUpdateTemperatureData:(float)temperature; |
| 208 | | 208 | |
| 209 | @end | 209 | @end |
| 210 | | 210 | |
| ⋮ | ⋮ |
| 213 | /*********************************************************************************/ | 213 | /*********************************************************************************/ |
| 214 | | 214 | |
| 215 | /** | 215 | /** |
| 216 | ·*··This·class·contains·the·media·manager·and·playback·manager·to·manage·the·Camera's·media·content.·It·provides·methods·to·change·camera·settings·and·perform | 216 | ·*··This·class·contains·the·media·manager·and·playback·manager·to·manage·the·Camera's·media·content.·It·provides·methods·to·change·camera·settings·and·perform·camera·actions. |
| 217 | ·*··camera·actions. | 217 | ·* |
| 218 | ·*/ | 218 | ·*/ |
| 219 | @interface·DJICamera·:·DJIBaseComponent | 219 | @interface·DJICamera·:·DJIBaseComponent |
| 220 | | 220 | |
| ⋮ | ⋮ |
| 226 | /** | 226 | /** |
| 227 | ·*··String·that·represents·name·of·the·camera. | 227 | ·*··String·that·represents·name·of·the·camera. |
| 228 | ·*/ | 228 | ·*/ |
| 229 | @property(nonatomic,·readonly)·NSString·*displayName; | 229 | @property(nonatomic,·readonly)·NSString·*_Nonnull·displayName; |
| 230 | | 230 | |
| 231 | /** | 231 | /** |
| 232 | ·*··Media·Manager·is·used·for·interaction·when·camera·is·in·`DJICameraModeMediaDownload`. | 232 | ·*··Media·Manager·is·used·for·interaction·when·camera·is·in·`DJICameraModeMediaDownload`. |
| 233 | ·*··The·user·can·only·access·the·manager·when·`isMediaDownloadModeSupported`·returns·`YES`. | 233 | ·*··The·user·can·only·access·the·manager·when·`isMediaDownloadModeSupported`·returns·`YES`. |
| 234 | ·*/ | 234 | ·*/ |
| 235 | @property(nonatomic,·readonly)·DJIMediaManager·*mediaManager; | 235 | @property(nonatomic,·readonly)·DJIMediaManager·*_Nullable·mediaManager; |
| 236 | | 236 | |
| 237 | /** | 237 | /** |
| 238 | ·*··Playback·Manager·is·used·for·interaction·when·camera·is·in·`DJICameraModePlayback`. | 238 | ·*··Playback·Manager·is·used·for·interaction·when·camera·is·in·`DJICameraModePlayback`. |
| 239 | ·*··User·can·only·access·to·the·manager·when·isPlaybackSupported·returns·YES. | 239 | ·*··User·can·only·access·to·the·manager·when·isPlaybackSupported·returns·YES. |
| 240 | ·*/ | 240 | ·*/ |
| 241 | @property(nonatomic,·readonly)·DJIPlaybackManager·*playbackManager; | 241 | @property(nonatomic,·readonly)·DJIPlaybackManager·*_Nullable·playbackManager; |
| 242 | | 242 | |
| 243 | //----------------------------------------------------------------- | 243 | /*********************************************************************************/ |
| 244 | #pragma·mark·Camera·work·mode | 244 | #pragma·mark·Camera·work·mode |
| 245 | //----------------------------------------------------------------- | 245 | /*********************************************************************************/ |
| | 246 | |
| 246 | /** | 247 | /** |
| 247 | ·*··Sets·the·camera's·work·mode·to·taking·pictures,·video,·playback·or·download·(see·[DJICameraMode](../Enums/DJICameraMode.html))·for·details·on·camera·work·modes.·Note·that·you·cannot·change·the·mode·when·a·certain·task·is·executing,·such·as·taking·photo(s),·recording·video,·or·downloading·and·saving·files. | 248 | ·*··Sets·the·camera's·work·mode·to·taking·pictures,·video,·playback·or·download·(see·[DJICameraMode](../Enums/DJICameraMode.html))·for·details·on·camera·work·modes.·Note·that·you·cannot·change·the·mode·when·a·certain·task·is·executing,·such·as·taking·photo(s),·recording·video,·or·downloading·and·saving·files. |
| 248 | ·*··Also·supported·by·thermal·imaging·camera. | 249 | ·*··Also·supported·by·thermal·imaging·camera. |
| ⋮ | ⋮ |
| 258 | ·* | 259 | ·* |
| 259 | ·*··@param·block·Remote·execution·result·callback·block. | 260 | ·*··@param·block·Remote·execution·result·callback·block. |
| 260 | ·*/ | 261 | ·*/ |
| 261 | -·(void)getCameraModeWithCompletion:(void·(^)(DJICameraMode,·NSError·*_Nullable))block; | 262 | -·(void)getCameraModeWithCompletion:(void·(^_Nonnull)(DJICameraMode,·NSError·*_Nullable))block; |
| 262 | | 263 | |
| 263 | //----------------------------------------------------------------- | 264 | /*********************************************************************************/ |
| 264 | #pragma·mark·Shoot·photos | 265 | #pragma·mark·Shoot·photos |
| 265 | //----------------------------------------------------------------- | 266 | /*********************************************************************************/ |
| | 267 | |
| 266 | /** | 268 | /** |
| 267 | ·*··Check·if·the·current·device·supports·time-lapse·shoot·mode. | 269 | ·*··Check·if·the·current·device·supports·time-lapse·shoot·mode. |
| 268 | ·*··Supported·only·on·the·Osmo·camera. | 270 | ·*··Supported·only·on·the·Osmo·camera. |
| ⋮ | ⋮ |
| 303 | ·*/ | 305 | ·*/ |
| 304 | -·(void)stopShootPhotoWithCompletion:(DJICompletionBlock)block; | 306 | -·(void)stopShootPhotoWithCompletion:(DJICompletionBlock)block; |
| 305 | | 307 | |
| 306 | //----------------------------------------------------------------- | 308 | /*********************************************************************************/ |
| 307 | #pragma·mark·Record·video | 309 | #pragma·mark·Record·video |
| 308 | //----------------------------------------------------------------- | 310 | /*********************************************************************************/ |
| | 311 | |
| 309 | /** | 312 | /** |
| 310 | ·*··`YES`·if·current·device·supports·Slow·Motion·video·recording. | 313 | ·*··`YES`·if·current·device·supports·Slow·Motion·video·recording. |
| 311 | ·*··Currently·Slow·Motion·is·supported·only·by·the·Osmo·camera·and·the·Phantom·4·camera.·There·are·two·ways·to·enter·Slow·Motion·mode: | 314 | ·*··Currently·Slow·Motion·is·supported·only·by·the·Osmo·camera·and·the·Phantom·4·camera.·There·are·two·ways·to·enter·Slow·Motion·mode: |
| ⋮ | ⋮ |
| 332 | ·* | 335 | ·* |
| 333 | ·*··@param·block·The·execution·callback·with·the·returned·value(s). | 336 | ·*··@param·block·The·execution·callback·with·the·returned·value(s). |
| 334 | ·*/ | 337 | ·*/ |
| 335 | -·(void)getVideoSlowMotionEnabledWithCompletion:(void·(^)(BOOL·enabled,·NSError·*_Nullable·error))block; | 338 | -·(void)getVideoSlowMotionEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))block; |
| 336 | | 339 | |
| 337 | /** | 340 | /** |
| 338 | ·*··Starts·recording·video.·The·camera·must·be·in·`DJICameraModeRecordVideo`·work·mode. | 341 | ·*··Starts·recording·video.·The·camera·must·be·in·`DJICameraModeRecordVideo`·work·mode. |
| ⋮ | ⋮ |
| 354 | | 357 | |
| 355 | @interface·DJICamera·(CameraSettings) | 358 | @interface·DJICamera·(CameraSettings) |
| 356 | | 359 | |
| 357 | //----------------------------------------------------------------- | 360 | /*********************************************************************************/ |
| 358 | #pragma·mark·Camera·basic·settings | 361 | #pragma·mark·Camera·basic·settings |
| 359 | //----------------------------------------------------------------- | 362 | /*********************************************************************************/ |
| 360 | | 363 | |
| 361 | /** | 364 | /** |
| 362 | ·*··Sets·the·camera's·file·index·mode·for·the·SD·card.·The·default·value·of·`DJICameraFileIndexMode`·is·set·to·`DJICameraFileIndexModeReset`. | 365 | ·*··Sets·the·camera's·file·index·mode·for·the·SD·card.·The·default·value·of·`DJICameraFileIndexMode`·is·set·to·`DJICameraFileIndexModeReset`. |
| ⋮ | ⋮ |
| 371 | ·* | 374 | ·* |
| 372 | ·*··@param·block·Remote·execution·result·callback·block. | 375 | ·*··@param·block·Remote·execution·result·callback·block. |
| 373 | ·*/ | 376 | ·*/ |
| 374 | -·(void)getFileIndexModeWithCompletion:(void·(^)(DJICameraFileIndexMode·fileIndex,·NSError·*_Nullable·error))block; | 377 | -·(void)getFileIndexModeWithCompletion:(void·(^_Nonnull)(DJICameraFileIndexMode·fileIndex,·NSError·*_Nullable·error))block; |
| 375 | | 378 | |
| 376 | //----------------------------------------------------------------- | 379 | /*********************************************************************************/ |
| 377 | #pragma·mark·Video·related | 380 | #pragma·mark·Video·related |
| 378 | //----------------------------------------------------------------- | 381 | /*********************************************************************************/ |
| 379 | | 382 | |
| 380 | /** | 383 | /** |
| 381 | ·*··Sets·the·camera's·video·resolution·and·frame·rate. | 384 | ·*··Sets·the·camera's·video·resolution·and·frame·rate. |
| ⋮ | ⋮ |
| 421 | ·*··Gets·the·camera's·video·resolution·and·frame·rate·values. | 424 | ·*··Gets·the·camera's·video·resolution·and·frame·rate·values. |
| 422 | ·* | 425 | ·* |
| 423 | ·*/ | 426 | ·*/ |
| 424 | -·(void)getVideoResolutionAndFrameRateWithCompletion:(void·(^)(DJICameraVideoResolution·resolution,·DJICameraVideoFrameRate·rate,·NSError·*_Nullable·error))block; | 427 | -·(void)getVideoResolutionAndFrameRateWithCompletion:(void·(^_Nonnull)(DJICameraVideoResolution·resolution,·DJICameraVideoFrameRate·rate,·NSError·*_Nullable·error))block; |
| 425 | | 428 | |
| 426 | /** | 429 | /** |
| 427 | ·*··Sets·the·camera's·video·file·format.·The·default·value·is·`DJICameraVideoFileFormatMOV`. | 430 | ·*··Sets·the·camera's·video·file·format.·The·default·value·is·`DJICameraVideoFileFormatMOV`. |
| ⋮ | ⋮ |
| 436 | ·* | 439 | ·* |
| 437 | ·*··@param·block··Completion·block·to·return·the·current·video·file·format. | 440 | ·*··@param·block··Completion·block·to·return·the·current·video·file·format. |
| 438 | ·*/ | 441 | ·*/ |
| 439 | -·(void)getVideoFileFormatWithCompletion:(void·(^)(DJICameraVideoFileFormat·format,·NSError·*_Nullable·error))block; | 442 | -·(void)getVideoFileFormatWithCompletion:(void·(^_Nonnull)(DJICameraVideoFileFormat·format,·NSError·*_Nullable·error))block; |
| 440 | | 443 | |
| 441 | /** | 444 | /** |
| 442 | ·*··Sets·the·camera's·analog·video·standard.·Setting·the·video·standard·to·PAL·or·NTSC·will·limit·the·available·resolutions·and·frame·rates·to·those·compatible·with·the·chosen·video·standard. | 445 | ·*··Sets·the·camera's·analog·video·standard.·Setting·the·video·standard·to·PAL·or·NTSC·will·limit·the·available·resolutions·and·frame·rates·to·those·compatible·with·the·chosen·video·standard. |
| ⋮ | ⋮ |
| 451 | ·*··Gets·the·camera's·video·standard·value. | 454 | ·*··Gets·the·camera's·video·standard·value. |
| 452 | ·*··Also·supported·by·thermal·imaging·camera. | 455 | ·*··Also·supported·by·thermal·imaging·camera. |
| 453 | ·*/ | 456 | ·*/ |
| 454 | -·(void)getVideoStandardWithCompletion:(void·(^)(DJICameraVideoStandard·videoStandard,·NSError·*_Nullable·error))block; | 457 | -·(void)getVideoStandardWithCompletion:(void·(^_Nonnull)(DJICameraVideoStandard·videoStandard,·NSError·*_Nullable·error))block; |
| | 458 | |
| | 459 | /** |
| | 460 | ·*·Enables·recording·position,·time·and·camera·information·into·a·video·caption·file·(.srt)·saved·on·the·SD·card. |
| | 461 | ·*·The·information·is·updated·at·1Hz.·Currently·the·.srt·file·can·only·be·downloaded·directly·from·the·SD·card. |
| | 462 | ·* |
| | 463 | ·*·@param·enabled···`YES`·to·enable·video·caption. |
| | 464 | ·*·@param·block·····The·execution·callback·with·the·returned·value. |
| | 465 | ·*/ |
| | 466 | -·(void)setVideoCaptionEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)block; |
| | 467 | |
| | 468 | /** |
| | 469 | ·*··Gets·whether·the·video·caption·is·enabled. |
| | 470 | ·* |
| | 471 | ·*··@param·block····The·completion·block·with·the·returned·value(s). |
| | 472 | ·*/ |
| | 473 | -·(void)getVideoCaptionEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled·,·NSError·*_Nullable·error))block; |
| 455 | | 474 | |
| 456 | //----------------------------------------------------------------- | 475 | /*********************************************************************************/ |
| 457 | #pragma·mark·Photo·related | 476 | #pragma·mark·Photo·related |
| 458 | //----------------------------------------------------------------- | 477 | /*********************************************************************************/ |
| | 478 | |
| 459 | /** | 479 | /** |
| 460 | ·*··Sets·the·camera's·aspect·ratio·for·photos.·See·[DJICameraPhotoAspectRatio](../Enums/DJICameraPhotoAspectRatio.html)·to·view·all·possible·ratios. | 480 | ·*··Sets·the·camera's·aspect·ratio·for·photos.·See·[DJICameraPhotoAspectRatio](../Enums/DJICameraPhotoAspectRatio.html)·to·view·all·possible·ratios. |
| 461 | ·* | 481 | ·* |
| ⋮ | ⋮ |
| 469 | ·* | 489 | ·* |
| 470 | ·*··@param·block·Remote·execution·result·callback·block. | 490 | ·*··@param·block·Remote·execution·result·callback·block. |
| 471 | ·*/ | 491 | ·*/ |
| 472 | -·(void)getPhotoRatioWithCompletion:(void·(^)(DJICameraPhotoAspectRatio·ratio,·NSError·*_Nullable·error))block; | 492 | -·(void)getPhotoRatioWithCompletion:(void·(^_Nonnull)(DJICameraPhotoAspectRatio·ratio,·NSError·*_Nullable·error))block; |
| 473 | | 493 | |
| 474 | /** | 494 | /** |
| 475 | ·*··Sets·the·camera's·photo·quality·for·JPEG·images.·See·[DJICameraPhotoQuality](../Enums/DJICameraPhotoQuality.html)·to·view·all·possible·camera·photo·qualities. | 495 | ·*··Sets·the·camera's·photo·quality·for·JPEG·images.·See·[DJICameraPhotoQuality](../Enums/DJICameraPhotoQuality.html)·to·view·all·possible·camera·photo·qualities. |
| ⋮ | ⋮ |
| 484 | ·* | 504 | ·* |
| 485 | ·*··@param·block·Remote·execution·result·callback·block. | 505 | ·*··@param·block·Remote·execution·result·callback·block. |
| 486 | ·*/ | 506 | ·*/ |
| 487 | -·(void)getPhotoQualityWithCompletion:(void·(^)(DJICameraPhotoQuality·quality,·NSError·*_Nullable·error))block; | 507 | -·(void)getPhotoQualityWithCompletion:(void·(^_Nonnull)(DJICameraPhotoQuality·quality,·NSError·*_Nullable·error))block; |
| 488 | | 508 | |
| 489 | /** | 509 | /** |
| 490 | ·*··Sets·the·camera's·photo·file·format.·See·[DJICameraPhotoFileFormat](../Enums/DJICameraPhotoFileFormat.html)·to·view·all·possible·photo·formats·to·which·the·camera·can·be·set. | 510 | ·*··Sets·the·camera's·photo·file·format.·See·[DJICameraPhotoFileFormat](../Enums/DJICameraPhotoFileFormat.html)·to·view·all·possible·photo·formats·to·which·the·camera·can·be·set. |
| ⋮ | ⋮ |
| 501 | ·* | 521 | ·* |
| 502 | ·*··@param·block·Completion·block. | 522 | ·*··@param·block·Completion·block. |
| 503 | ·*/ | 523 | ·*/ |
| 504 | -·(void)getPhotoFileFormatWithCompletion:(void·(^)(DJICameraPhotoFileFormat·photoFormat,·NSError·*_Nullable·error))block; | 524 | -·(void)getPhotoFileFormatWithCompletion:(void·(^_Nonnull)(DJICameraPhotoFileFormat·photoFormat,·NSError·*_Nullable·error))block; |
| 505 | | 525 | |
| 506 | /** | 526 | /** |
| 507 | ·*··Sets·the·burst·shoot·count·for·the·camera·when·the·user·wants·to·use·that·feature. | 527 | ·*··Sets·the·burst·shoot·count·for·the·camera·when·the·user·wants·to·use·that·feature. |
| ⋮ | ⋮ |
| 518 | ·* | 538 | ·* |
| 519 | ·*··@param·block·Completion·block. | 539 | ·*··@param·block·Completion·block. |
| 520 | ·*/ | 540 | ·*/ |
| 521 | -·(void)getPhotoBurstCountWithCompletion:(void·(^)(DJICameraPhotoBurstCount·count,·NSError·*_Nullable·error))block; | 541 | -·(void)getPhotoBurstCountWithCompletion:(void·(^_Nonnull)(DJICameraPhotoBurstCount·count,·NSError·*_Nullable·error))block; |
| 522 | | 542 | |
| 523 | /** | 543 | /** |
| 524 | ·*··Sets·the·camera's·auto·exposure·bracketing·(AEB)·capture·parameters. | 544 | ·*··Sets·the·camera's·auto·exposure·bracketing·(AEB)·capture·parameters. |
| ⋮ | ⋮ |
| 533 | ·* | 553 | ·* |
| 534 | ·*··@param·block·Remote·execution·result·callback·block. | 554 | ·*··@param·block·Remote·execution·result·callback·block. |
| 535 | ·*/ | 555 | ·*/ |
| 536 | -·(void)getPhotoAEBParamWithCompletion:(void·(^)(DJICameraPhotoAEBParam·aeb,·NSError·*_Nullable·error))block; | 556 | -·(void)getPhotoAEBParamWithCompletion:(void·(^_Nonnull)(DJICameraPhotoAEBParam·aeb,·NSError·*_Nullable·error))block; |
| 537 | | 557 | |
| 538 | /** | 558 | /** |
| 539 | ·*··Sets·the·interval·shoot·parameters.·The·camera·will·capture·a·photo,·wait·a·specified·interval·of·time, | 559 | ·*··Sets·the·interval·shoot·parameters.·The·camera·will·capture·a·photo,·wait·a·specified·interval·of·time, |
| ⋮ | ⋮ |
| 558 | ·* | 578 | ·* |
| 559 | ·*··@param·block·Completion·block. | 579 | ·*··@param·block·Completion·block. |
| 560 | ·*/ | 580 | ·*/ |
| 561 | -·(void)getPhotoIntervalParamWithCompletion:(void·(^)(DJICameraPhotoIntervalParam·captureParam,·NSError·*_Nullable·error))block; | 581 | -·(void)getPhotoIntervalParamWithCompletion:(void·(^_Nonnull)(DJICameraPhotoIntervalParam·captureParam,·NSError·*_Nullable·error))block; |
| 562 | | 582 | |
| 563 | /** | 583 | /** |
| 564 | ·*··Sets·the·TimeLapse·parameters,·including·interval,·duration·and·file·format·when·saving. | 584 | ·*··Sets·the·TimeLapse·parameters,·including·interval,·duration·and·file·format·when·saving. |
| | 585 | ·* |
| 565 | ·*··Precondition: | 586 | ·*··Precondition: |
| 566 | ·*··Camera·should·be·in·`TimeLapse`·mode·of·`CameraShootPhotoMode`. | 587 | ·*··Camera·should·be·in·`TimeLapse`·mode·of·`CameraShootPhotoMode`. |
| 567 | ·*··Supported·only·by·Osmo. | 588 | ·*··Supported·only·by·Osmo. |
| ⋮ | ⋮ |
| 574 | ·*······················stopShootPhoto·method. | 595 | ·*······················stopShootPhoto·method. |
| 575 | ·*··@param·fileFormat···A·enum·type·of·the·file·format·to·be·used. | 596 | ·*··@param·fileFormat···A·enum·type·of·the·file·format·to·be·used. |
| 576 | ·*······················Please·refer·to·DJICameraPhotoTimeLapseFileFormat·in·DJICameraSettingsDef. | 597 | ·*······················Please·refer·to·DJICameraPhotoTimeLapseFileFormat·in·DJICameraSettingsDef. |
| 577 | ·*··@param·block········The·execution·block·with·the·execution·result·returned. | 598 | ·*··@param·block········The·execution·block·with·the·returned·execution·result. |
| 578 | ·* | 599 | ·* |
| 579 | ·*/ | 600 | ·*/ |
| 580 | -·(void)setPhotoTimeLapseInterval:(NSUInteger)interval·duration:(NSUInteger)duration·fileFormat:(DJICameraPhotoTimeLapseFileFormat)format·withCompletion:(DJICompletionBlock)block; | 601 | -·(void)setPhotoTimeLapseInterval:(NSUInteger)interval·duration:(NSUInteger)duration·fileFormat:(DJICameraPhotoTimeLapseFileFormat)format·withCompletion:(DJICompletionBlock)block; |
| ⋮ | ⋮ |
| 587 | ·* | 608 | ·* |
| 588 | ·*··@param·block····The·execution·callback·with·the·returned·value(s). | 609 | ·*··@param·block····The·execution·callback·with·the·returned·value(s). |
| 589 | ·*/ | 610 | ·*/ |
| 590 | -·(void)getPhotoTimeLapseIntervalDurationAndFileFormatWithCompletion:(void·(^)(NSUInteger·interval,·NSUInteger·duration,·DJICameraPhotoTimeLapseFileFormat·format,·NSError·*_Nullable·error))block; | 611 | -·(void)getPhotoTimeLapseIntervalDurationAndFileFormatWithCompletion:(void·(^_Nonnull)(NSUInteger·interval,·NSUInteger·duration,·DJICameraPhotoTimeLapseFileFormat·format,·NSError·*_Nullable·error))block; |
| 591 | | 612 | |
| 592 | //----------------------------------------------------------------- | 613 | /*********************************************************************************/ |
| 593 | #pragma·mark·Exposure·Settings | 614 | #pragma·mark·Exposure·Settings |
| 594 | //----------------------------------------------------------------- | 615 | /*********************************************************************************/ |
| 595 | | 616 | |
| 596 | /** | 617 | /** |
| 597 | ·*··Sets·the·camera's·exposure·mode.·See·[DJICameraExposureMode](../Enums/DJICameraExposureMode.html)·to·view·all·possible·camera·exposure·modes. | 618 | ·*··Sets·the·camera's·exposure·mode.·See·[DJICameraExposureMode](../Enums/DJICameraExposureMode.html)·to·view·all·possible·camera·exposure·modes. |
| 598 | ·* | 619 | ·* |
| 599 | ·*··@param·mode··Camera·exposure·mode·to·set·to. | 620 | ·*··@param·mode··Camera·exposure·mode·to·set. |
| 600 | ·*··@param·block·Remote·execution·result·error·block. | 621 | ·*··@param·block·Remote·execution·result·error·block. |
| 601 | ·*/ | 622 | ·*/ |
| 602 | -·(void)setExposureMode:(DJICameraExposureMode)mode·withCompletion:(DJICompletionBlock)block; | 623 | -·(void)setExposureMode:(DJICameraExposureMode)mode·withCompletion:(DJICompletionBlock)block; |
| ⋮ | ⋮ |
| 606 | ·* | 627 | ·* |
| 607 | ·*··@param·block·Remote·execution·result·callback·block. | 628 | ·*··@param·block·Remote·execution·result·callback·block. |
| 608 | ·*/ | 629 | ·*/ |
| 609 | -·(void)getExposureModeWithCompletion:(void·(^)(DJICameraExposureMode,·NSError·*_Nullable))block; | 630 | -·(void)getExposureModeWithCompletion:(void·(^_Nonnull)(DJICameraExposureMode,·NSError·*_Nullable))block; |
| 610 | | 631 | |
| 611 | /** | 632 | /** |
| 612 | ·*··Sets·the·camera's·ISO·value.·See·[DJICameraISO](../Enums/DJICameraISO.html)·to·view·all·possible·ISO·settings·for·the·camera. | 633 | ·*··Sets·the·camera's·ISO·value.·See·[DJICameraISO](../Enums/DJICameraISO.html)·to·view·all·possible·ISO·settings·for·the·camera. |
| ⋮ | ⋮ |
| 623 | ·* | 644 | ·* |
| 624 | ·*··@param·block·Completion·block. | 645 | ·*··@param·block·Completion·block. |
| 625 | ·*/ | 646 | ·*/ |
| 626 | -·(void)getISOWithCompletion:(void·(^)(DJICameraISO·iso,·NSError·*_Nullable·error))block; | 647 | -·(void)getISOWithCompletion:(void·(^_Nonnull)(DJICameraISO·iso,·NSError·*_Nullable·error))block; |
| 627 | | 648 | |
| 628 | /** | 649 | /** |
| 629 | ·*··Sets·the·camera·shutter·speed.·To·see·all·available·`shutterSpeed`·value·settings,·see·`DJICameraShutterSpeed`. | 650 | ·*··Sets·the·camera·shutter·speed.·To·see·all·available·`shutterSpeed`·value·settings,·see·`DJICameraShutterSpeed`. |
| ⋮ | ⋮ |
| 644 | ·* | 665 | ·* |
| 645 | ·*··@param·block·Remote·execution·result·callback·block. | 666 | ·*··@param·block·Remote·execution·result·callback·block. |
| 646 | ·*/ | 667 | ·*/ |
| 647 | -·(void)getShutterSpeedWithCompletion:(void·(^)(DJICameraShutterSpeed·shutterSpeed,·NSError·*_Nullable·error))block; | 668 | -·(void)getShutterSpeedWithCompletion:(void·(^_Nonnull)(DJICameraShutterSpeed·shutterSpeed,·NSError·*_Nullable·error))block; |
| 648 | | 669 | |
| 649 | /** | 670 | /** |
| 650 | ·*··Sets·the·camera's·exposure·metering.·See·[DJICameraMeteringMode](../Enums/DJICameraMeteringMode.html)·to·view·all·possible·exposure·metering·settings·for·the·camera. | 671 | ·*··Sets·the·camera's·exposure·metering.·See·[DJICameraMeteringMode](../Enums/DJICameraMeteringMode.html)·to·view·all·possible·exposure·metering·settings·for·the·camera. |
| ⋮ | ⋮ |
| 659 | ·* | 680 | ·* |
| 660 | ·*··@param·block·Completion·block. | 681 | ·*··@param·block·Completion·block. |
| 661 | ·*/ | 682 | ·*/ |
| 662 | -·(void)getMeteringModeWithCompletion:(void·(^)(DJICameraMeteringMode·exposureMetering,·NSError·*_Nullable·error))block; | 683 | -·(void)getMeteringModeWithCompletion:(void·(^_Nonnull)(DJICameraMeteringMode·exposureMetering,·NSError·*_Nullable·error))block; |
| 663 | | 684 | |
| 664 | /** | 685 | /** |
| 665 | ·*··Sets·the·spot·metering·area·index.·The·camera·image·is·divided·into·96·spots·defined·by·12·columns·and·8·rows. | 686 | ·*··Sets·the·spot·metering·area·index.·The·camera·image·is·divided·into·96·spots·defined·by·12·columns·and·8·rows. |
| ⋮ | ⋮ |
| 678 | ·*··In·order·to·make·the·method·work,·The·camera·exposure·mode·should·be·'Program',·'Shutter'·or·'Aperture',·the | 699 | ·*··In·order·to·make·the·method·work,·The·camera·exposure·mode·should·be·'Program',·'Shutter'·or·'Aperture',·the |
| 679 | ·*··exposure·metering·mode·must·be·`DJICameraMeteringModeSpot`,·and·`AELock`·must·be·`NO`. | 700 | ·*··exposure·metering·mode·must·be·`DJICameraMeteringModeSpot`,·and·`AELock`·must·be·`NO`. |
| 680 | ·*/ | 701 | ·*/ |
| 681 | -·(void)getSpotMeteringAreaRowIndexAndColIndexWithCompletion:(void·(^)(uint8_t·rowIndex,·uint8_t·colIndex,·NSError·*_Nullable·error))block; | 702 | -·(void)getSpotMeteringAreaRowIndexAndColIndexWithCompletion:(void·(^_Nonnull)(uint8_t·rowIndex,·uint8_t·colIndex,·NSError·*_Nullable·error))block; |
| 682 | | 703 | |
| 683 | /** | 704 | /** |
| 684 | ·*··Sets·the·camera's·exposure·compensation.·See·[DJICameraExposureCompensation](../Enums/DJICameraExposureCompensation.html)·to·view·all·possible·exposure·compensations·to·which·the·camera·can·be·set. | 705 | ·*··Sets·the·camera's·exposure·compensation.·See·[DJICameraExposureCompensation](../Enums/DJICameraExposureCompensation.html)·to·view·all·possible·exposure·compensations·to·which·the·camera·can·be·set. |
| ⋮ | ⋮ |
| 694 | ·* | 715 | ·* |
| 695 | ·*··@param·block·Completion·block. | 716 | ·*··@param·block·Completion·block. |
| 696 | ·*/ | 717 | ·*/ |
| 697 | -·(void)getExposureCompensationWithCompletion:(void·(^)(DJICameraExposureCompensation·exposureCompensation,·NSError·*_Nullable·error))block; | 718 | -·(void)getExposureCompensationWithCompletion:(void·(^_Nonnull)(DJICameraExposureCompensation·exposureCompensation,·NSError·*_Nullable·error))block; |
| 698 | | 719 | |
| 699 | /** | 720 | /** |
| 700 | ·*··Locks·or·unlocks·the·camera's·AE·(auto·exposure). | 721 | ·*··Locks·or·unlocks·the·camera's·AE·(auto·exposure). |
| ⋮ | ⋮ |
| 712 | ·* | 733 | ·* |
| 713 | ·*··@param·block·Remote·execution·result·callback·block. | 734 | ·*··@param·block·Remote·execution·result·callback·block. |
| 714 | ·*/ | 735 | ·*/ |
| 715 | -·(void)getAELockWithCompletion:(void·(^)(BOOL·isLocked,·NSError·*_Nullable·error))block; | 736 | -·(void)getAELockWithCompletion:(void·(^_Nonnull)(BOOL·isLocked,·NSError·*_Nullable·error))block; |
| 716 | | 737 | |
| 717 | //----------------------------------------------------------------- | 738 | /*********************************************************************************/ |
| 718 | #pragma·mark·White·Balance | 739 | #pragma·mark·White·Balance |
| 719 | //----------------------------------------------------------------- | 740 | /*********************************************************************************/ |
| 720 | | 741 | |
| 721 | /** | 742 | /** |
| 722 | ·*··Sets·the·camera’s·white·balance·and·color·temperature.· | 743 | ·*··Sets·the·camera’s·white·balance·and·color·temperature.· |
| ⋮ | ⋮ |
| 734 | ·* | 755 | ·* |
| 735 | ·*··@param·block·Completion·block. | 756 | ·*··@param·block·Completion·block. |
| 736 | ·*/ | 757 | ·*/ |
| 737 | -·(void)getWhiteBalanceAndColorTemperatureWithCompletion:(void·(^)(DJICameraWhiteBalance·whiteBalance,·uint8_t·colorTemperature,·NSError·*_Nullable·error))block; | 758 | -·(void)getWhiteBalanceAndColorTemperatureWithCompletion:(void·(^_Nonnull)(DJICameraWhiteBalance·whiteBalance,·uint8_t·colorTemperature,·NSError·*_Nullable·error))block; |
| 738 | | 759 | |
| 739 | //----------------------------------------------------------------- | 760 | /*********************************************************************************/ |
| 740 | #pragma·mark·Other·settings | 761 | #pragma·mark·Other·settings |
| 741 | //----------------------------------------------------------------- | 762 | /*********************************************************************************/ |
| | 763 | |
| 742 | /** | 764 | /** |
| 743 | ·*··Sets·the·camera's·anti-flicker·for·video·recording. | 765 | ·*··Sets·the·camera's·anti-flicker·for·video·recording. |
| 744 | ·* | 766 | ·* |
| ⋮ | ⋮ |
| 755 | ·* | 777 | ·* |
| 756 | ·*··@param·block·Completion·block. | 778 | ·*··@param·block·Completion·block. |
| 757 | ·*/ | 779 | ·*/ |
| 758 | -·(void)getAntiFlickerWithCompletion:(void·(^)(DJICameraAntiFlicker·antiFlicker,·NSError·*_Nullable·error))block; | 780 | -·(void)getAntiFlickerWithCompletion:(void·(^_Nonnull)(DJICameraAntiFlicker·antiFlicker,·NSError·*_Nullable·error))block; |
| 759 | | 781 | |
| 760 | /** | 782 | /** |
| 761 | ·*··Sets·the·camera's·sharpness.·See·[DJICameraSharpness](../Enums/DJICameraSharpness.html)·to·view·all·possible·sharpnesss·settings·for·the·camera. | 783 | ·*··Sets·the·camera's·sharpness.·See·[DJICameraSharpness](../Enums/DJICameraSharpness.html)·to·view·all·possible·sharpnesss·settings·for·the·camera. |
| ⋮ | ⋮ |
| 770 | ·* | 792 | ·* |
| 771 | ·*··@param·block·Completion·block. | 793 | ·*··@param·block·Completion·block. |
| 772 | ·*/ | 794 | ·*/ |
| 773 | -·(void)getSharpnessWithCompletion:(void·(^)(DJICameraSharpness·sharpness,·NSError·*_Nullable·error))block; | 795 | -·(void)getSharpnessWithCompletion:(void·(^_Nonnull)(DJICameraSharpness·sharpness,·NSError·*_Nullable·error))block; |
| 774 | | 796 | |
| 775 | /** | 797 | /** |
| 776 | ·*··Sets·the·camera's·contrast.·See·[DJICameraContrast](../Enums/DJICameraContrast.html)·to·view·all·possible·contrasts·to·which·the·camera·can·be·set. | 798 | ·*··Sets·the·camera's·contrast.·See·[DJICameraContrast](../Enums/DJICameraContrast.html)·to·view·all·possible·contrasts·to·which·the·camera·can·be·set. |
| ⋮ | ⋮ |
| 785 | ·* | 807 | ·* |
| 786 | ·*··@param·block·Completion·block. | 808 | ·*··@param·block·Completion·block. |
| 787 | ·*/ | 809 | ·*/ |
| 788 | -·(void)getContrastWithCompletion:(void·(^)(DJICameraContrast·contrast,·NSError·*_Nullable·error))block; | 810 | -·(void)getContrastWithCompletion:(void·(^_Nonnull)(DJICameraContrast·contrast,·NSError·*_Nullable·error))block; |
| 789 | | 811 | |
| 790 | /** | 812 | /** |
| 791 | ·*··Sets·the·camera's·saturation.·The·default·saturation·value·is·0. | 813 | ·*··Sets·the·camera's·saturation.·The·default·saturation·value·is·0. |
| ⋮ | ⋮ |
| 800 | ·* | 822 | ·* |
| 801 | ·*··@param·block·Remote·execution·result·callback·block. | 823 | ·*··@param·block·Remote·execution·result·callback·block. |
| 802 | ·*/ | 824 | ·*/ |
| 803 | -·(void)getSaturationWithCompletion:(void·(^)(int8_t·saturation,·NSError·*_Nullable·error))block; | 825 | -·(void)getSaturationWithCompletion:(void·(^_Nonnull)(int8_t·saturation,·NSError·*_Nullable·error))block; |
| 804 | | 826 | |
| 805 | /** | 827 | /** |
| 806 | ·*··Sets·the·camera's·hue.·The·default·hue·value·is·0. | 828 | ·*··Sets·the·camera's·hue.·The·default·hue·value·is·0. |
| ⋮ | ⋮ |
| 815 | ·* | 837 | ·* |
| 816 | ·*··@param·block·Remote·execution·result·callback·block. | 838 | ·*··@param·block·Remote·execution·result·callback·block. |
| 817 | ·*/ | 839 | ·*/ |
| 818 | -·(void)getHueWithCompletion:(void·(^)(int8_t·hue,·NSError·*_Nullable·error))block; | 840 | -·(void)getHueWithCompletion:(void·(^_Nonnull)(int8_t·hue,·NSError·*_Nullable·error))block; |
| 819 | | 841 | |
| 820 | /** | 842 | /** |
| 821 | ·*··Sets·the·camera's·digital·filter.·The·default·value·is·`DJICameraDigitalFilterNone`. | 843 | ·*··Sets·the·camera's·digital·filter.·The·default·value·is·`DJICameraDigitalFilterNone`. |
| ⋮ | ⋮ |
| 831 | ·* | 853 | ·* |
| 832 | ·*··@param·block·Remote·execution·result·callback·block. | 854 | ·*··@param·block·Remote·execution·result·callback·block. |
| 833 | ·*/ | 855 | ·*/ |
| 834 | -·(void)getDigitalFilterWithCompletion:(void·(^)(DJICameraDigitalFilter·filter,·NSError·*_Nullable·error))block; | 856 | -·(void)getDigitalFilterWithCompletion:(void·(^_Nonnull)(DJICameraDigitalFilter·filter,·NSError·*_Nullable·error))block; |
| 835 | | 857 | |
| 836 | /** | 858 | /** |
| 837 | ·*··Determines·whether·the·device·supports·quick·view.·Quick·view·is·the·period·of·time·a·photo·is·shown·as·a·preview·after·it·is·taken·and·before·the·camera·returns··to·the·live·camera·view. | 859 | ·*··Determines·whether·the·device·supports·quick·view.·Quick·view·is·the·period·of·time·a·photo·is·shown·as·a·preview·after·it·is·taken·and·before·the·camera·returns··to·the·live·camera·view. |
| ⋮ | ⋮ |
| 853 | ·* | 875 | ·* |
| 854 | ·*··@param·block·Remote·execution·result·callback·block. | 876 | ·*··@param·block·Remote·execution·result·callback·block. |
| 855 | ·*/ | 877 | ·*/ |
| 856 | -·(void)getPhotoQuickViewDurationWithCompletion:(void·(^)(NSUInteger·duration,·NSError·*_Nullable·error))block; | 878 | -·(void)getPhotoQuickViewDurationWithCompletion:(void·(^_Nonnull)(NSUInteger·duration,·NSError·*_Nullable·error))block; |
| 857 | | 879 | |
| 858 | //----------------------------------------------------------------- | 880 | /** |
| | 881 | ·*··Check·if·the·current·device·supports·digital·zoom·scale. |
| | 882 | ·*··It·is·only·supported·by·Osmo·with·X3·camera·and·Phantom·4·camera. |
| | 883 | ·*/ |
| | 884 | -·(BOOL)isDigitalZoomScaleSupported; |
| | 885 | |
| | 886 | /** |
| | 887 | ·*··Adjusts·the·digital·zoom.· |
| | 888 | ·*··It·is·only·supported·by·Osmo. |
| | 889 | ·* |
| | 890 | ·*··@param·scale····The·valid·range·is·from·1.0·to·2.0. |
| | 891 | ·*··@param·block····The·completion·block·with·the·returned·execution·result. |
| | 892 | ·*/ |
| | 893 | -·(void)setDigitalZoomScale:(float)scale·withCompletion:(DJICompletionBlock)block; |
| | 894 | |
| | 895 | /** |
| | 896 | ·*·Gets·current·digital·zoom. |
| | 897 | ·* |
| | 898 | ·*·@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined. |
| | 899 | ·*·@see·[-·(void)setDigitalZoomScale:(float)scale·withCompletion:(DJICompletionBlock)block;]. |
| | 900 | ·*/ |
| | 901 | -·(void)getDigitalZoomScaleWithCompletion:(void·(^_Nonnull)(float·scale,·NSError·*_Nullable·error))block; |
| | 902 | |
| | 903 | /*********************************************************************************/ |
| 859 | #pragma·mark·Audio·Settings | 904 | #pragma·mark·Audio·Settings |
| 860 | //----------------------------------------------------------------- | 905 | /*********************************************************************************/ |
| | 906 | |
| 861 | /** | 907 | /** |
| 862 | ·*··Determines·whether·the·current·device·supports·audio·recording. | 908 | ·*··Determines·whether·the·current·device·supports·audio·recording. |
| 863 | ·*··Currently·audio·recording·is·supported·only·by·the·Osmo·camera. | 909 | ·*··Currently·audio·recording·is·supported·only·by·the·Osmo·camera. |
| ⋮ | ⋮ |
| 876 | | 922 | |
| 877 | /** | 923 | /** |
| 878 | ·*··Supported·only·by·Osmo·camera. | 924 | ·*··Supported·only·by·Osmo·camera. |
| 879 | ·*··Gets·whether·the·audio·record·is·enabled. | 925 | ·*··Determines·whether·the·audio·record·is·enabled. |
| 880 | ·* | 926 | ·* |
| 881 | ·*··@param·block····The·execution·callback·with·the·returned·value(s). | 927 | ·*··@param·block····The·execution·callback·with·the·returned·value(s). |
| 882 | ·*/ | 928 | ·*/ |
| 883 | -·(void)getAudioRecordEnabledWithCompletion:(void·(^)(BOOL·enabled,·NSError·*_Nullable·error))block; | 929 | -·(void)getAudioRecordEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))block; |
| 884 | | 930 | |
| 885 | //----------------------------------------------------------------- | 931 | /** |
| | 932 | ·*··Sets·the·microphone·recording·gain. |
| | 933 | ·*··Only·supported·by·Osmo. |
| | 934 | ·*··@param·value····Recording·gain·with·range·[0,100]. |
| | 935 | ·*··@param·block····The·completion·block·with·the·returned·value(s). |
| | 936 | ·*/ |
| | 937 | -·(void)setAudioGain:(uint8_t)value·withCompletion:(DJICompletionBlock)block; |
| | 938 | |
| | 939 | /** |
| | 940 | ·*··Gets·the·microphone·recording·gain. |
| | 941 | ·*··Only·supported·by·Osmo. |
| | 942 | ·* |
| | 943 | ·*··@param·block·The·completion·block·with·the·returned·value(s). |
| | 944 | ·*/ |
| | 945 | -·(void)getAudioGainWithCompletion:(void·(^_Nonnull)(uint8_t·value,·NSError·*_Nullable·error))block; |
| | 946 | |
| | 947 | /** |
| | 948 | ·*··This·method·will·turn·off·the·camera's·cooling·fan·whenever·the·camera·is·cool·enough·to·do·so.·This·allows·better·audio·recording·from·the·internal·microphone·in·the·camera. |
| | 949 | ·*··Supported·Only·by·Osmo. |
| | 950 | ·* |
| | 951 | ·*··@param·turnOffWhenPossible·`true`·to·turn·fan·off·whenever·possible. |
| | 952 | ·*··@param·block·The·execution·block·with·the·returned·execution·result. |
| | 953 | ·*/ |
| | 954 | -·(void)setTurnOffFanWhenPossible:(BOOL)turnOffWhenPossible·withCompletion:(DJICompletionBlock)block; |
| | 955 | |
| | 956 | /** |
| | 957 | ·*··Gets·if·the·fan·will·turn·off·whenever·it·is·cool·enough·to·do·so·to·enable·better·audio·recordings·from·the·camera's·internal·microphone. |
| | 958 | ·* |
| | 959 | ·*··@param·block·Remote·execution·result·completion·block. |
| | 960 | ·*/ |
| | 961 | -·(void)getTurnOffFanWhenPossibleWithCompletion:(void·(^_Nonnull)(BOOL·turnOffWhenPossible,·NSError·*_Nullable·error))block; |
| | 962 | |
| | 963 | /*********************************************************************************/ |
| 886 | #pragma·mark·Advanced·Camera·Settings | 964 | #pragma·mark·Advanced·Camera·Settings |
| 887 | //----------------------------------------------------------------- | 965 | /*********************************************************************************/ |
| 888 | | 966 | |
| 889 | /** | 967 | /** |
| 890 | ·*··Gets·whether·the·changeable·lens·is·supported·by·the·camera. | 968 | ·*··Determines·whether·the·changeable·lens·is·supported·by·the·camera. |
| 891 | ·*··Currently·a·changeable·lens·is·supported·only·by·the·X5·and·X5R·cameras. | 969 | ·*··Currently·a·changeable·lens·is·supported·only·by·the·X5·and·X5R·cameras. |
| 892 | ·*/ | 970 | ·*/ |
| 893 | -·(BOOL)isChangeableLensSupported; | 971 | -·(BOOL)isChangeableLensSupported; |
| ⋮ | ⋮ |
| 899 | ·* | 977 | ·* |
| 900 | ·*··@param·callback·The·execution·callback·with·the·returned·value(s). | 978 | ·*··@param·callback·The·execution·callback·with·the·returned·value(s). |
| 901 | ·*/ | 979 | ·*/ |
| 902 | -·(void)getLensInformationWithCompletion:(void·(^)(NSString·*_Nullable·info,·NSError·*_Nullable·error))block; | 980 | -·(void)getLensInformationWithCompletion:(void·(^_Nonnull)(NSString·*_Nullable·info,·NSError·*_Nullable·error))block; |
| 903 | | 981 | |
| 904 | /** | 982 | /** |
| 905 | ·*··Determines·whether·the·camera·supports·an·adjustable·aperture. | 983 | ·*··Determines·whether·the·camera·supports·an·adjustable·aperture. |
| ⋮ | ⋮ |
| 927 | ·* | 1005 | ·* |
| 928 | ·*··@param·block·The·execution·callback·with·the·returned·value(s). | 1006 | ·*··@param·block·The·execution·callback·with·the·returned·value(s). |
| 929 | ·*/ | 1007 | ·*/ |
| 930 | -·(void)getApertureWithCompletion:(void·(^)(DJICameraAperture·aperture,·NSError·*_Nullable·error))block; | 1008 | -·(void)getApertureWithCompletion:(void·(^_Nonnull)(DJICameraAperture·aperture,·NSError·*_Nullable·error))block; |
| 931 | | 1009 | |
| 932 | /** | 1010 | /** |
| 933 | ·*··Determines·whether·the·camera·supports·an·adjustable·focal·point. | 1011 | ·*··Determines·whether·the·camera·supports·an·adjustable·focal·point. |
| ⋮ | ⋮ |
| 952 | ·* | 1030 | ·* |
| 953 | ·*·@param·block·The·execution·callback·with·the·returned·value(s). | 1031 | ·*·@param·block·The·execution·callback·with·the·returned·value(s). |
| 954 | ·*/ | 1032 | ·*/ |
| 955 | -·(void)getLensFocusModeWithCompletion:(void·(^)(DJICameraLensFocusMode·focusMode,·NSError·*_Nullable·error))block; | 1033 | -·(void)getLensFocusModeWithCompletion:(void·(^_Nonnull)(DJICameraLensFocusMode·focusMode,·NSError·*_Nullable·error))block; |
| 956 | | 1034 | |
| 957 | /** | 1035 | /** |
| 958 | ·*··Sets·the·lens·focus·target·point. | 1036 | ·*··Sets·the·lens·focus·target·point. |
| ⋮ | ⋮ |
| 976 | ·* | 1054 | ·* |
| 977 | ·*··@param·callback·The·execution·callback·with·the·returned·value(s). | 1055 | ·*··@param·callback·The·execution·callback·with·the·returned·value(s). |
| 978 | ·*/ | 1056 | ·*/ |
| 979 | -·(void)getLensFocusTargetWithCompletion:(void·(^)(CGPoint·focusTarget,·NSError·*_Nullable·error))block; | 1057 | -·(void)getLensFocusTargetWithCompletion:(void·(^_Nonnull)(CGPoint·focusTarget,·NSError·*_Nullable·error))block; |
| 980 | | 1058 | |
| 981 | /** | 1059 | /** |
| 982 | ·*··Sets·whether·the·lens·focus·assistant·is·enabled. | 1060 | ·*··Sets·whether·the·lens·focus·assistant·is·enabled. |
| ⋮ | ⋮ |
| 991 | -·(void)setLensFocusAssistantEnabledForMF:(BOOL)MFenabled·andAF:(BOOL)AFenabled·withCompletion:(DJICompletionBlock)block; | 1069 | -·(void)setLensFocusAssistantEnabledForMF:(BOOL)MFenabled·andAF:(BOOL)AFenabled·withCompletion:(DJICompletionBlock)block; |
| 992 | | 1070 | |
| 993 | /** | 1071 | /** |
| 994 | ·*··Gets·whether·the·lens·focus·assistant·is·enabled. | 1072 | ·*··Determines·whether·the·lens·focus·assistant·is·enabled. |
| 995 | ·*··It·is·available·only·when·`isAdjustableFocalPointSupported`·returns·`YES`. | 1073 | ·*··It·is·available·only·when·`isAdjustableFocalPointSupported`·returns·`YES`. |
| 996 | ·*··Supported·only·by·the·X5·and·X5R·cameras. | 1074 | ·*··Supported·only·by·the·X5·and·X5R·cameras. |
| 997 | ·* | 1075 | ·* |
| 998 | ·*··@param·block·The·execution·callback·with·the·returned·value(s). | 1076 | ·*··@param·block·The·execution·callback·with·the·returned·value(s). |
| 999 | ·*··The·first·result·stands·for·MF,·the·second·result·stands·for·AF. | 1077 | ·*··The·first·result·stands·for·MF,·the·second·result·stands·for·AF. |
| 1000 | ·*/ | 1078 | ·*/ |
| 1001 | -·(void)getLensFocusAssistantEnabledForMFAndAFWithCompletion:(void·(^)(BOOL·MFenabled,·BOOL·AFenabled,·NSError·*_Nullable·error))block; | 1079 | -·(void)getLensFocusAssistantEnabledForMFAndAFWithCompletion:(void·(^_Nonnull)(BOOL·MFenabled,·BOOL·AFenabled,·NSError·*_Nullable·error))block; |
| 1002 | | 1080 | |
| 1003 | /** | 1081 | /** |
| 1004 | ·*··Gets·the·lens·focusing·ring·value's·max·value. | 1082 | ·*··Gets·the·lens·focusing·ring·value's·max·value. |
| ⋮ | ⋮ |
| 1007 | ·* | 1085 | ·* |
| 1008 | ·*··@param·callback·The·execution·callback·with·the·returned·value(s). | 1086 | ·*··@param·callback·The·execution·callback·with·the·returned·value(s). |
| 1009 | ·*/ | 1087 | ·*/ |
| 1010 | -·(void)getLensFocusRingValueUpperBoundWithCompletion:(void·(^)(NSUInteger·upperBound,·NSError·*_Nullable·error))block; | 1088 | -·(void)getLensFocusRingValueUpperBoundWithCompletion:(void·(^_Nonnull)(NSUInteger·upperBound,·NSError·*_Nullable·error))block; |
| 1011 | | 1089 | |
| 1012 | /** | 1090 | /** |
| 1013 | ·*··Set·the·focal·distance·by·simulating·the·focus·ring·adjustment.·Value·can·have·a·range·of·[0,·`getLensFocusRingValueUpperBoundWithCompletion`],·which·represents·infinity·and·the·closest·possible·focal·distance. | 1091 | ·*··Set·the·focal·distance·by·simulating·the·focus·ring·adjustment.·Value·can·have·a·range·of·[0,·`getLensFocusRingValueUpperBoundWithCompletion`],·which·represents·infinity·and·the·closest·possible·focal·distance. |
| ⋮ | ⋮ |
| 1035 | ·* | 1113 | ·* |
| 1036 | ·*··@param·callback·The·execution·callback·with·the·returned·value(s). | 1114 | ·*··@param·callback·The·execution·callback·with·the·returned·value(s). |
| 1037 | ·*/ | 1115 | ·*/ |
| 1038 | -·(void)getLensFocusRingValueWithCompletion:(void·(^)(NSUInteger·distance,·NSError·*_Nullable·error))block; | 1116 | -·(void)getLensFocusRingValueWithCompletion:(void·(^_Nonnull)(NSUInteger·distance,·NSError·*_Nullable·error))block; |
| 1039 | | 1117 | |
| 1040 | //----------------------------------------------------------------- | 1118 | /*********************************************************************************/ |
| 1041 | #pragma·mark·Save/load·camera·settings | 1119 | #pragma·mark·Save/load·camera·settings |
| 1042 | //----------------------------------------------------------------- | 1120 | /*********************************************************************************/ |
| | 1121 | |
| 1043 | /** | 1122 | /** |
| 1044 | ·*··Load·the·camera's·factory·settings.·<br> | 1123 | ·*··Load·the·camera's·factory·settings.·<br> |
| 1045 | ·*··Also·supported·by·thermal·imaging·camera. | 1124 | ·*··Also·supported·by·thermal·imaging·camera. |
| ⋮ | ⋮ |
| 1116 | ·* | 1195 | ·* |
| 1117 | ·*··@deprecated·Call·[DJICameraDelegate·camera:didUpdateSDCardState:]·instead. | 1196 | ·*··@deprecated·Call·[DJICameraDelegate·camera:didUpdateSDCardState:]·instead. |
| 1118 | ·*/ | 1197 | ·*/ |
| 1119 | -·(void)getSDCardInfoWithCompletion:(void·(^)(DJICameraSDCardState·*_Nullable·sdInfo,·NSError·*_Nullable·error))block·DJI_API_DEPRECATED("Use·camera:didUpdateSDCardState:·in·DJICameraDelegate·instead.·"); | 1198 | -·(void)getSDCardInfoWithCompletion:(void·(^_Nonnull)(DJICameraSDCardState·*_Nullable·sdInfo,·NSError·*_Nullable·error))block·DJI_API_DEPRECATED("Use·camera:didUpdateSDCardState:·in·DJICameraDelegate·instead.·"); |
| 1120 | | 1199 | |
| 1121 | @end | 1200 | @end |
| 1122 | | 1201 | |
| ⋮ | ⋮ |
| 1129 | ·*/ | 1208 | ·*/ |
| 1130 | @interface·DJICamera·(SSDOperations) | 1209 | @interface·DJICamera·(SSDOperations) |
| 1131 | /** | 1210 | /** |
| 1132 | ·*··Gets·whether·the·SSD·is·supported·by·the·camera. | 1211 | ·*··Determines·whether·the·SSD·is·supported·by·the·camera. |
| 1133 | ·*··Currently,·the·SSD·is·supported·only·by·X5R·camera. | 1212 | ·*··Currently,·the·SSD·is·supported·only·by·X5R·camera. |
| 1134 | ·*/ | 1213 | ·*/ |
| 1135 | -·(BOOL)isSSDSupported; | 1214 | -·(BOOL)isSSDSupported; |
| ⋮ | ⋮ |
| 1181 | ·* | 1260 | ·* |
| 1182 | ·*··@param·block·Get·raw·video·resolution·and·frame·rate·result·callback·block. | 1261 | ·*··@param·block·Get·raw·video·resolution·and·frame·rate·result·callback·block. |
| 1183 | ·*/ | 1262 | ·*/ |
| 1184 | -·(void)getSSDRawVideoResolutionAndFrameRateWithCompletion:(void·(^)(DJICameraVideoResolution·resolution,·DJICameraVideoFrameRate·frameRate,·NSError·*_Nullable·error))block; | 1263 | -·(void)getSSDRawVideoResolutionAndFrameRateWithCompletion:(void·(^_Nonnull)(DJICameraVideoResolution·resolution,·DJICameraVideoFrameRate·frameRate,·NSError·*_Nullable·error))block; |
| 1185 | | 1264 | |
| 1186 | @end | 1265 | @end |
| 1187 | | 1266 | |
| ⋮ | ⋮ |
| 1212 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1291 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1213 | ·*··@see·[-·(void)setThermalROI:(DJICameraThermalROI)roi·withCompletion:(DJICompletionBlock)block]. | 1292 | ·*··@see·[-·(void)setThermalROI:(DJICameraThermalROI)roi·withCompletion:(DJICompletionBlock)block]. |
| 1214 | ·*/ | 1293 | ·*/ |
| 1215 | -·(void)getThermalROIWithCompletion:(void·(^)(DJICameraThermalROI·roi,·NSError·*_Nullable·error))block; | 1294 | -·(void)getThermalROIWithCompletion:(void·(^_Nonnull)(DJICameraThermalROI·roi,·NSError·*_Nullable·error))block; |
| 1216 | | 1295 | |
| 1217 | /** | 1296 | /** |
| 1218 | ·*··Sets·the·Palette.·Each·palette·is·a·unique·look-up·table·that·maps·8-bit·temperature·values·to·different·colors.·Different·palettes·can·be·used·to·help·the·user·better·visualize·temperature·contrast·or·specific·temperature·bands. | 1297 | ·*··Sets·the·Palette.·Each·palette·is·a·unique·look-up·table·that·maps·8-bit·temperature·values·to·different·colors.·Different·palettes·can·be·used·to·help·the·user·better·visualize·temperature·contrast·or·specific·temperature·bands. |
| ⋮ | ⋮ |
| 1230 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1309 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1231 | ·*··@see·[-·(void)setThermalPalette:(DJICameraThermalPalette)palette·withCompletion:(DJICompletionBlock)block]. | 1310 | ·*··@see·[-·(void)setThermalPalette:(DJICameraThermalPalette)palette·withCompletion:(DJICompletionBlock)block]. |
| 1232 | ·*/ | 1311 | ·*/ |
| 1233 | -·(void)getThermalPaletteWithCompletion:(void·(^)(DJICameraThermalPalette·palette,·NSError·*_Nullable·error))block; | 1312 | -·(void)getThermalPaletteWithCompletion:(void·(^_Nonnull)(DJICameraThermalPalette·palette,·NSError·*_Nullable·error))block; |
| 1234 | | 1313 | |
| 1235 | /** | 1314 | /** |
| 1236 | ·*··Sets·the·scene·to·instantly·enhance·your·image. | 1315 | ·*··Sets·the·scene·to·instantly·enhance·your·image. |
| ⋮ | ⋮ |
| 1251 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1330 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1252 | ·*··@see·[-·(void)setThermalScene:(DJICameraThermalScene)scene·withCompletion:(DJICompletionBlock)block]. | 1331 | ·*··@see·[-·(void)setThermalScene:(DJICameraThermalScene)scene·withCompletion:(DJICompletionBlock)block]. |
| 1253 | ·*/ | 1332 | ·*/ |
| 1254 | -·(void)getThermalSceneWithCompletion:(void·(^)(DJICameraThermalScene·scene,·NSError·*_Nullable·error))block; | 1333 | -·(void)getThermalSceneWithCompletion:(void·(^_Nonnull)(DJICameraThermalScene·scene,·NSError·*_Nullable·error))block; |
| 1255 | | 1334 | |
| 1256 | /** | 1335 | /** |
| 1257 | ·*··Sets·the·Digital·Data·Enhancement·index·(for·DDE·dynamic·mode).·DDE·can·be·used·to·enhance·image·details·(sharpen,·higher·index)·and/or·suppress·fixed·pattern·noise·(soften,·lower·index). | 1336 | ·*··Sets·the·Digital·Data·Enhancement·index·(for·DDE·dynamic·mode).·DDE·can·be·used·to·enhance·image·details·(sharpen,·higher·index)·and/or·suppress·fixed·pattern·noise·(soften,·lower·index). |
| ⋮ | ⋮ |
| 1273 | ·*·@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1352 | ·*·@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1274 | ·*·@see·[-·(void)setThermalDDE:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. | 1353 | ·*·@see·[-·(void)setThermalDDE:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. |
| 1275 | ·*/ | 1354 | ·*/ |
| 1276 | -·(void)getThermalDDEWithCompletion:(void·(^)(NSInteger·value,·NSError·*_Nullable·error))block; | 1355 | -·(void)getThermalDDEWithCompletion:(void·(^_Nonnull)(NSInteger·value,·NSError·*_Nullable·error))block; |
| 1277 | | 1356 | |
| 1278 | /** | 1357 | /** |
| 1279 | ·*··Set·the·value·of·Active·Contrast·Enhancement.·Active·contrast·enhancement·allows·for·a·contrast·trade-off·between·hotter·and·colder·scenes·when·using·8-bit·pixel·data. | 1358 | ·*··Set·the·value·of·Active·Contrast·Enhancement.·Active·contrast·enhancement·allows·for·a·contrast·trade-off·between·hotter·and·colder·scenes·when·using·8-bit·pixel·data. |
| ⋮ | ⋮ |
| 1297 | ·*·@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1376 | ·*·@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1298 | ·*·@see·[-·(void)setThermalACE:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. | 1377 | ·*·@see·[-·(void)setThermalACE:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. |
| 1299 | ·*/ | 1378 | ·*/ |
| 1300 | -·(void)·getThermalACEWithCompletion:(void·(^)(NSInteger·value,·NSError·*_Nullable·error))block; | 1379 | -·(void)·getThermalACEWithCompletion:(void·(^_Nonnull)(NSInteger·value,·NSError·*_Nullable·error))block; |
| 1301 | | 1380 | |
| 1302 | | 1381 | |
| 1303 | /** | 1382 | /** |
| ⋮ | ⋮ |
| 1319 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1398 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1320 | ·*··@see·[-·(void)setThermalSSO:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. | 1399 | ·*··@see·[-·(void)setThermalSSO:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. |
| 1321 | ·*/ | 1400 | ·*/ |
| 1322 | -·(void)getThermalSSOWithCompletion:(void·(^)(NSInteger·value,·NSError·*_Nullable·error))block; | 1401 | -·(void)getThermalSSOWithCompletion:(void·(^_Nonnull)(NSInteger·value,·NSError·*_Nullable·error))block; |
| 1323 | | 1402 | |
| 1324 | /** | 1403 | /** |
| 1325 | ·*··Sets·the·brightness·of·the·image. | 1404 | ·*··Sets·the·brightness·of·the·image. |
| ⋮ | ⋮ |
| 1339 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1418 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1340 | ·*··@see·[-·(void)setThermalBrightness:(NSUInteger)brightness·withCompletion:(DJICompletionBlock)block]. | 1419 | ·*··@see·[-·(void)setThermalBrightness:(NSUInteger)brightness·withCompletion:(DJICompletionBlock)block]. |
| 1341 | ·*/ | 1420 | ·*/ |
| 1342 | -·(void)getThermalBrightnessWithCompletion:(void·(^)(NSUInteger·brightness,·NSError·*_Nullable·error))block; | 1421 | -·(void)getThermalBrightnessWithCompletion:(void·(^_Nonnull)(NSUInteger·brightness,·NSError·*_Nullable·error))block; |
| 1343 | | 1422 | |
| 1344 | /** | 1423 | /** |
| 1345 | ·*··Sets·the·value·of·contrast,·with·larger·values·having·higher·contrast. | 1424 | ·*··Sets·the·value·of·contrast,·with·larger·values·having·higher·contrast. |
| ⋮ | ⋮ |
| 1359 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1438 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1360 | ·*··@see·[-·(void)setThermalContrast:(NSUInteger)contrast·withCompletion:(DJICompletionBlock)block]. | 1439 | ·*··@see·[-·(void)setThermalContrast:(NSUInteger)contrast·withCompletion:(DJICompletionBlock)block]. |
| 1361 | ·*/ | 1440 | ·*/ |
| 1362 | -·(void)getThermalContrastWithCompletion:(void·(^)(NSUInteger·Contrast,·NSError·*_Nullable·error))block; | 1441 | -·(void)getThermalContrastWithCompletion:(void·(^_Nonnull)(NSUInteger·Contrast,·NSError·*_Nullable·error))block; |
| 1363 | | 1442 | |
| 1364 | /** | 1443 | /** |
| 1365 | ·*··Enable·or·disable·Isotherms.·Isotherms·can·be·used·to·highlight·specific·temperature·ranges: | 1444 | ·*··Enable·or·disable·Isotherms.·Isotherms·can·be·used·to·highlight·specific·temperature·ranges: |
| ⋮ | ⋮ |
| 1378 | ·* | 1457 | ·* |
| 1379 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1458 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1380 | ·*/ | 1459 | ·*/ |
| 1381 | -·(void)getThermalIsothermEnabledWithCompletion:(void·(^)(BOOL·enabled,·NSError·*_Nullable·error))block; | 1460 | -·(void)getThermalIsothermEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))block; |
| 1382 | | 1461 | |
| 1383 | /** | 1462 | /** |
| 1384 | ·*··Sets·the·unit·of·the·Isotherm·ranges·to·either·Celsius·or·percent.·Different·units·results·in·different·value·ranges·for·Isotherms. | 1463 | ·*··Sets·the·unit·of·the·Isotherm·ranges·to·either·Celsius·or·percent.·Different·units·results·in·different·value·ranges·for·Isotherms. |
| ⋮ | ⋮ |
| 1396 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1475 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1397 | ·*··@see·[-·(void)setThermalIsothermUnit:(DJICameraThermalIsothermUnit)unit·withCompletion:(DJICompletionBlock)block]. | 1476 | ·*··@see·[-·(void)setThermalIsothermUnit:(DJICameraThermalIsothermUnit)unit·withCompletion:(DJICompletionBlock)block]. |
| 1398 | ·*/ | 1477 | ·*/ |
| 1399 | -·(void)getThermalIsothermUnitWithCompletion:(void·(^)(DJICameraThermalIsothermUnit·unit,·NSError·*_Nullable·error))block; | 1478 | -·(void)getThermalIsothermUnitWithCompletion:(void·(^_Nonnull)(DJICameraThermalIsothermUnit·unit,·NSError·*_Nullable·error))block; |
| 1400 | | 1479 | |
| 1401 | /** | 1480 | /** |
| 1402 | ·*··Sets·the·upper·threshold·value·for·Isotherm.·All·temperature·values·above·this·will·use·colors·224-255·from·the·palatte. | 1481 | ·*··Sets·the·upper·threshold·value·for·Isotherm.·All·temperature·values·above·this·will·use·colors·224-255·from·the·palatte. |
| ⋮ | ⋮ |
| 1416 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1495 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1417 | ·*··@see·[-·(void)setThermalIsothermUpperValue:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. | 1496 | ·*··@see·[-·(void)setThermalIsothermUpperValue:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. |
| 1418 | ·*/ | 1497 | ·*/ |
| 1419 | -·(void)getThermalIsothermUpperValueWithCompletion:(void·(^)(NSInteger·value,·NSError·*_Nullable·error))block; | 1498 | -·(void)getThermalIsothermUpperValueWithCompletion:(void·(^_Nonnull)(NSInteger·value,·NSError·*_Nullable·error))block; |
| 1420 | | 1499 | |
| 1421 | /** | 1500 | /** |
| 1422 | ·*··Sets·the·middle·threshold·value·for·Isotherm.·Temperature·values·between·the·middle·and·upper·Isotherm·threshold·will·be·displayed·with·colors·176-223·from·the·palette. | 1501 | ·*··Sets·the·middle·threshold·value·for·Isotherm.·Temperature·values·between·the·middle·and·upper·Isotherm·threshold·will·be·displayed·with·colors·176-223·from·the·palette. |
| ⋮ | ⋮ |
| 1436 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1515 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1437 | ·*··@see·[-·(void)setThermalIsothermMiddleValue:(NSInteger)value·withCompletion:(DJICompletionBlock)block]·method. | 1516 | ·*··@see·[-·(void)setThermalIsothermMiddleValue:(NSInteger)value·withCompletion:(DJICompletionBlock)block]·method. |
| 1438 | ·*/ | 1517 | ·*/ |
| 1439 | -·(void)getThermalIsothermMiddleValueWithCompletion:(void·(^)(NSInteger·value,·NSError·*_Nullable·error))block; | 1518 | -·(void)getThermalIsothermMiddleValueWithCompletion:(void·(^_Nonnull)(NSInteger·value,·NSError·*_Nullable·error))block; |
| 1440 | | 1519 | |
| 1441 | /** | 1520 | /** |
| 1442 | ·*··Sets·the·lower·threshold·value·for·Isotherm.·Temperature·values·between·the·lower·and·middle·Isotherm·threshold·will·be·displayed·with·colors·128-175·from·the·palette. | 1521 | ·*··Sets·the·lower·threshold·value·for·Isotherm.·Temperature·values·between·the·lower·and·middle·Isotherm·threshold·will·be·displayed·with·colors·128-175·from·the·palette. |
| ⋮ | ⋮ |
| 1456 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1535 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1457 | ·*··@see·[-·(void)setThermalIsothermLowerValue:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. | 1536 | ·*··@see·[-·(void)setThermalIsothermLowerValue:(NSInteger)value·withCompletion:(DJICompletionBlock)block]. |
| 1458 | ·*/ | 1537 | ·*/ |
| 1459 | -·(void)getThermalIsothermLowerValueWithCompletion:(void·(^)(NSInteger·value,·NSError·*_Nullable·error))block; | 1538 | -·(void)getThermalIsothermLowerValueWithCompletion:(void·(^_Nonnull)(NSInteger·value,·NSError·*_Nullable·error))block; |
| 1460 | | 1539 | |
| 1461 | /** | 1540 | /** |
| 1462 | ·*··Sets·the·gain·mode.·Low·gain·mode·can·be·used·for·scenes·with·temperatures·ranging·from·-40·to·550·degrees·Celsius.·For·higher·contrast,·the·high·gain·mode·can·be·used·by·for·temperatures·between·-25·to·135·degrees·Celsius·for·the·640x512·camera·and·-25·to·100·degrees·Celsius·for·324·x·256·camera. | 1541 | ·*··Sets·the·gain·mode.·Low·gain·mode·can·be·used·for·scenes·with·temperatures·ranging·from·-40·to·550·degrees·Celsius.·For·higher·contrast,·the·high·gain·mode·can·be·used·by·for·temperatures·between·-25·to·135·degrees·Celsius·for·the·640x512·camera·and·-25·to·100·degrees·Celsius·for·324·x·256·camera. |
| ⋮ | ⋮ |
| 1474 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1553 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1475 | ·*··@see·[-·(void)setThermalGainMode:(DJICameraThermalGainMode)mode·withCompletion:(DJICompletionBlock)block]. | 1554 | ·*··@see·[-·(void)setThermalGainMode:(DJICameraThermalGainMode)mode·withCompletion:(DJICompletionBlock)block]. |
| 1476 | ·*/ | 1555 | ·*/ |
| 1477 | -·(void)getThermalGainModeWithCompletion:(void(^)(DJICameraThermalGainMode·mode,·NSError·*_Nullable·error))block; | 1556 | -·(void)getThermalGainModeWithCompletion:(void(^_Nonnull)(DJICameraThermalGainMode·mode,·NSError·*_Nullable·error))block; |
| 1478 | | 1557 | |
| 1479 | /** | 1558 | /** |
| 1480 | ·*··Enable·or·disable·the·temperature·measurement·data·delegate·method·`[camera:didUpdateTemperatureData:]`·in·`DJICameraDelegate`.·For·the·XT,·the·measurement·data·is·at·the·center·of·the·image. | 1559 | ·*··Enable·or·disable·the·temperature·measurement·data·delegate·method·`[camera:didUpdateTemperatureData:]`·in·`DJICameraDelegate`.·For·the·XT,·the·measurement·data·is·at·the·center·of·the·image. |
| ⋮ | ⋮ |
| 1492 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1571 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1493 | ·*··@see·[-·(void)setThermalTemperatureDataEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)block]. | 1572 | ·*··@see·[-·(void)setThermalTemperatureDataEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)block]. |
| 1494 | ·*/ | 1573 | ·*/ |
| 1495 | -·(void)getThermalTemperatureDataEnabledWithCompletion:(void·(^)(BOOL·enabled,·NSError·*_Nullable·error))block; | 1574 | -·(void)getThermalTemperatureDataEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))block; |
| 1496 | | 1575 | |
| 1497 | /** | 1576 | /** |
| 1498 | ·*··Adjusts·the·digital·zoom. | 1577 | ·*··Adjusts·the·digital·zoom. |
| ⋮ | ⋮ |
| 1510 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1589 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1511 | ·*··@see·[-·(void)setThermalDigitalZoomScale:(DJICameraThermalDigitalZoomScale)scale·withCompletion:(DJICompletionBlock)block]. | 1590 | ·*··@see·[-·(void)setThermalDigitalZoomScale:(DJICameraThermalDigitalZoomScale)scale·withCompletion:(DJICompletionBlock)block]. |
| 1512 | ·*/ | 1591 | ·*/ |
| 1513 | -·(void)getThermalDigitalZoomScaleWithCompletion:(void·(^)(DJICameraThermalDigitalZoomScale·scale,·NSError·*_Nullable·error))block; | 1592 | -·(void)getThermalDigitalZoomScaleWithCompletion:(void·(^_Nonnull)(DJICameraThermalDigitalZoomScale·scale,·NSError·*_Nullable·error))block; |
| 1514 | | 1593 | |
| 1515 | /** | 1594 | /** |
| 1516 | ·*··Gets·the·thermal·imaging·camera·profile.·The·profile·includes·information·about·resolution,·frame·rate·and·focal·length. | 1595 | ·*··Gets·the·thermal·imaging·camera·profile.·The·profile·includes·information·about·resolution,·frame·rate·and·focal·length. |
| ⋮ | ⋮ |
| 1518 | ·* | 1597 | ·* |
| 1519 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· | 1598 | ·*··@param·block·Completion·block·that·receives·the·getter·result.·When·an·error·occurs,·the·error·is·returned·and·the·result·is·undefined.· |
| 1520 | ·*/ | 1599 | ·*/ |
| 1521 | -·(void)getThermalProfileWithCompletion:(void(^)(DJICameraThermalProfile·profile,·NSError·*_Nullable·error))block; | 1600 | -·(void)getThermalProfileWithCompletion:(void(^_Nonnull)(DJICameraThermalProfile·profile,·NSError·*_Nullable·error))block; |
| 1522 | | 1601 | |
| 1523 | @end | 1602 | @end |
| 1524 | | 1603 | |
| diff --git a/Headers/DJICameraSettingsDef.h b/Headers/DJICameraSettingsDef.h
|
| index 77c8963..dfd958f 100644
|
| 3.1.1/Headers/DJICameraSettingsDef.h | 3.2/Headers/DJICameraSettingsDef.h |
| ⋮ | ⋮ |
| 31 | #pragma·mark·-·Camera·Modes | 31 | #pragma·mark·-·Camera·Modes |
| 32 | /*********************************************************************************/ | 32 | /*********************************************************************************/ |
| 33 | | 33 | |
| 34 | //----------------------------------------------------------------- | 34 | /*********************************************************************************/ |
| 35 | #pragma·mark·DJICameraMode | 35 | #pragma·mark·DJICameraMode |
| 36 | //----------------------------------------------------------------- | 36 | /*********************************************************************************/ |
| | 37 | |
| 37 | /** | 38 | /** |
| 38 | ·*··Camera·work·modes. | 39 | ·*··Camera·work·modes. |
| 39 | ·*/ | 40 | ·*/ |
| ⋮ | ⋮ |
| 54 | ····DJICameraModePlayback·=·0x02, | 55 | ····DJICameraModePlayback·=·0x02, |
| 55 | ····/** | 56 | ····/** |
| 56 | ·····*··In·this·mode,·the·user·can·download·media·to·the·Mobile·Device. | 57 | ·····*··In·this·mode,·the·user·can·download·media·to·the·Mobile·Device. |
| 57 | ·····*··Not·Supported·by·X5·and·X5R. | 58 | ·····*··Not·supported·by·Inspire·1·Pro·(X5·camera)·nor·Inspire·1·RAW·(X5R·camera). |
| 58 | ·····*/ | 59 | ·····*/ |
| 59 | ····DJICameraModeMediaDownload·=·0x03, | 60 | ····DJICameraModeMediaDownload·=·0x03, |
| 60 | ···· | 61 | ···· |
| ⋮ | ⋮ |
| 64 | ····DJICameraModeUnknown·=·0xFF | 65 | ····DJICameraModeUnknown·=·0xFF |
| 65 | }; | 66 | }; |
| 66 | | 67 | |
| 67 | //----------------------------------------------------------------- | 68 | /*********************************************************************************/ |
| 68 | #pragma·mark·DJICameraShootPhotoMode | 69 | #pragma·mark·DJICameraShootPhotoMode |
| 69 | //----------------------------------------------------------------- | 70 | /*********************************************************************************/ |
| | 71 | |
| 70 | /** | 72 | /** |
| 71 | ·*··The·ShootPhoto·mode·itself·can·have·several·modes.·The·default·value·is·`DJICameraShootPhotoModeSingle`. | 73 | ·*··The·ShootPhoto·mode·itself·can·have·several·modes.·The·default·value·is·`DJICameraShootPhotoModeSingle`. |
| 72 | ·*/ | 74 | ·*/ |
| ⋮ | ⋮ |
| 112 | ····DJICameraShootPhotoModeTimeLapse | 114 | ····DJICameraShootPhotoModeTimeLapse |
| 113 | }; | 115 | }; |
| 114 | | 116 | |
| 115 | //----------------------------------------------------------------- | 117 | /*********************************************************************************/ |
| 116 | #pragma·mark·DJICameraExposureMode | 118 | #pragma·mark·DJICameraExposureMode |
| 117 | //----------------------------------------------------------------- | 119 | /*********************************************************************************/ |
| | 120 | |
| 118 | /** | 121 | /** |
| 119 | ·*··Camera·exposure·modes.·The·default·value·is·`DJICameraExposureModeProgram`. | 122 | ·*··Camera·exposure·modes.·The·default·value·is·`DJICameraExposureModeProgram`. |
| 120 | ·* | 123 | ·* |
| ⋮ | ⋮ |
| 162 | #pragma·mark·-·Video·Related | 165 | #pragma·mark·-·Video·Related |
| 163 | /*********************************************************************************/ | 166 | /*********************************************************************************/ |
| 164 | | 167 | |
| 165 | //----------------------------------------------------------------- | 168 | /*********************************************************************************/ |
| 166 | #pragma·mark·DJICameraVideoFileFormat | 169 | #pragma·mark·DJICameraVideoFileFormat |
| 167 | //----------------------------------------------------------------- | 170 | /*********************************************************************************/ |
| | 171 | |
| 168 | /** | 172 | /** |
| 169 | ·*··Video·storage·formats. | 173 | ·*··Video·storage·formats. |
| 170 | ·*/ | 174 | ·*/ |
| ⋮ | ⋮ |
| 183 | ····DJICameraVideoFileFormatUnknown·=·0xFF | 187 | ····DJICameraVideoFileFormatUnknown·=·0xFF |
| 184 | }; | 188 | }; |
| 185 | | 189 | |
| 186 | //----------------------------------------------------------------- | 190 | /*********************************************************************************/ |
| 187 | #pragma·mark·DJICameraVideoResolution | 191 | #pragma·mark·DJICameraVideoResolution |
| 188 | //----------------------------------------------------------------- | 192 | /*********************************************************************************/ |
| | 193 | |
| 189 | /** | 194 | /** |
| 190 | ·*··Camera·video·resolution·values.·The·resolutions·available·for·a·product·are·in·`supportedCameraVideoResolutionAndFrameRateRange`. | 195 | ·*··Camera·video·resolution·values.·The·resolutions·available·for·a·product·are·in·`supportedCameraVideoResolutionAndFrameRateRange`. |
| 191 | ·*/ | 196 | ·*/ |
| ⋮ | ⋮ |
| 216 | ····DJICameraVideoResolutionUnknown, | 221 | ····DJICameraVideoResolutionUnknown, |
| 217 | }; | 222 | }; |
| 218 | | 223 | |
| 219 | //----------------------------------------------------------------- | 224 | /*********************************************************************************/ |
| 220 | #pragma·mark·DJICameraVideoFrameRate | 225 | #pragma·mark·DJICameraVideoFrameRate |
| 221 | //----------------------------------------------------------------- | 226 | /*********************************************************************************/ |
| | 227 | |
| 222 | /** | 228 | /** |
| 223 | ·*··Camera·video·frame·rate·values.·The·frame·rates·available·for·a·product·are·in·`supportedCameraVideoResolutionAndFrameRateRange`. | 229 | ·*··Camera·video·frame·rate·values.·The·frame·rates·available·for·a·product·are·in·`supportedCameraVideoResolutionAndFrameRateRange`. |
| 224 | ·*/ | 230 | ·*/ |
| ⋮ | ⋮ |
| 257 | ····DJICameraVideoFrameRateUnknown·=·0xFF | 263 | ····DJICameraVideoFrameRateUnknown·=·0xFF |
| 258 | }; | 264 | }; |
| 259 | | 265 | |
| 260 | //----------------------------------------------------------------- | 266 | /*********************************************************************************/ |
| 261 | #pragma·mark·DJICameraVideoStandard | 267 | #pragma·mark·DJICameraVideoStandard |
| 262 | //----------------------------------------------------------------- | 268 | /*********************************************************************************/ |
| | 269 | |
| 263 | /** | 270 | /** |
| 264 | ·*··Video·standard·values.·The·default·value·is·NTSC. | 271 | ·*··Video·standard·values.·The·default·value·is·NTSC. |
| 265 | ·*/ | 272 | ·*/ |
| ⋮ | ⋮ |
| 282 | #pragma·mark·-·Photo·related | 289 | #pragma·mark·-·Photo·related |
| 283 | /*********************************************************************************/ | 290 | /*********************************************************************************/ |
| 284 | | 291 | |
| 285 | //----------------------------------------------------------------- | 292 | /*********************************************************************************/ |
| 286 | #pragma·mark·DJICameraPhotoFileFormat | 293 | #pragma·mark·DJICameraPhotoFileFormat |
| 287 | //----------------------------------------------------------------- | 294 | /*********************************************************************************/ |
| | 295 | |
| 288 | /** | 296 | /** |
| 289 | ·*··Camera·photo·file·formats.·The·default·value·is·`CameraPhotoJPEG`. | 297 | ·*··Camera·photo·file·formats.·The·default·value·is·`CameraPhotoJPEG`. |
| 290 | ·*/ | 298 | ·*/ |
| ⋮ | ⋮ |
| 311 | ····DJICameraPhotoFileFormatUnknown·=·0xFF | 319 | ····DJICameraPhotoFileFormatUnknown·=·0xFF |
| 312 | }; | 320 | }; |
| 313 | | 321 | |
| 314 | //----------------------------------------------------------------- | 322 | /*********************************************************************************/ |
| 315 | #pragma·mark·DJICameraPhotoTimeLapseFileFormat | 323 | #pragma·mark·DJICameraPhotoTimeLapseFileFormat |
| 316 | //----------------------------------------------------------------- | 324 | /*********************************************************************************/ |
| | 325 | |
| 317 | /** | 326 | /** |
| 318 | ·*··File·format·for·camera·when·it·is·in·time-lapse·mode.·The | 327 | ·*··File·format·for·camera·when·it·is·in·time-lapse·mode.·The |
| 319 | ·*··default·file·format·is·video.·If·video+JPEG·is·selected·the·minimum·interval·will·be·2·seconds. | 328 | ·*··default·file·format·is·video.·If·video+JPEG·is·selected·the·minimum·interval·will·be·2·seconds. |
| ⋮ | ⋮ |
| 333 | ····DJICameraPhotoTimeLapseFileFormatUnknown·=·0xFF | 342 | ····DJICameraPhotoTimeLapseFileFormatUnknown·=·0xFF |
| 334 | }; | 343 | }; |
| 335 | | 344 | |
| 336 | //----------------------------------------------------------------- | 345 | /*********************************************************************************/ |
| 337 | #pragma·mark·DJICameraPhotoQuality | 346 | #pragma·mark·DJICameraPhotoQuality |
| 338 | //----------------------------------------------------------------- | 347 | /*********************************************************************************/ |
| | 348 | |
| 339 | /** | 349 | /** |
| 340 | ·*··Photo·quality·of·the·JPEG·image.·Higher·photo·quality·results·in·larger·file·size. | 350 | ·*··Photo·quality·of·the·JPEG·image.·Higher·photo·quality·results·in·larger·file·size. |
| 341 | ·*··The·default·value·is·`CameraPhotoQualityExcellent`. | 351 | ·*··The·default·value·is·`CameraPhotoQualityExcellent`. |
| ⋮ | ⋮ |
| 359 | ····DJICameraPhotoQualityUnknown·=·0xFF | 369 | ····DJICameraPhotoQualityUnknown·=·0xFF |
| 360 | }; | 370 | }; |
| 361 | | 371 | |
| 362 | //----------------------------------------------------------------- | 372 | /*********************************************************************************/ |
| 363 | #pragma·mark·DJICameraPhotoAspectRatio | 373 | #pragma·mark·DJICameraPhotoAspectRatio |
| 364 | //----------------------------------------------------------------- | 374 | /*********************************************************************************/ |
| | 375 | |
| 365 | /** | 376 | /** |
| 366 | ·*··Photo·aspect·ratio,·where·the·first·value·is·the·width·and·the | 377 | ·*··Photo·aspect·ratio,·where·the·first·value·is·the·width·and·the |
| 367 | ·*··second·value·is·the·height.·The·default·value·is·`CameraPhotoRatio4_3`. | 378 | ·*··second·value·is·the·height.·The·default·value·is·`CameraPhotoRatio4_3`. |
| ⋮ | ⋮ |
| 382 | }; | 393 | }; |
| 383 | | 394 | |
| 384 | | 395 | |
| 385 | //----------------------------------------------------------------- | 396 | /*********************************************************************************/ |
| 386 | #pragma·mark·DJICameraPhotoBurstCount | 397 | #pragma·mark·DJICameraPhotoBurstCount |
| 387 | //----------------------------------------------------------------- | 398 | /*********************************************************************************/ |
| | 399 | |
| 388 | /** | 400 | /** |
| 389 | ·*··The·number·of·photos·taken·in·one·burst·shot·(shooting·photo·in·burst·mode). | 401 | ·*··The·number·of·photos·taken·in·one·burst·shot·(shooting·photo·in·burst·mode). |
| 390 | ·*/ | 402 | ·*/ |
| ⋮ | ⋮ |
| 410 | ····DJICameraPhotoBurstCountUnknown·=·0xFF | 422 | ····DJICameraPhotoBurstCountUnknown·=·0xFF |
| 411 | }; | 423 | }; |
| 412 | | 424 | |
| 413 | //----------------------------------------------------------------- | 425 | /*********************************************************************************/ |
| 414 | #pragma·mark·DJICameraPhotoAEBParam | 426 | #pragma·mark·DJICameraPhotoAEBParam |
| 415 | //----------------------------------------------------------------- | 427 | /*********************************************************************************/ |
| | 428 | |
| 416 | /** | 429 | /** |
| 417 | ·*··AEB·continuous·capture·parameter·values. | 430 | ·*··AEB·continuous·capture·parameter·values. |
| 418 | ·*/ | 431 | ·*/ |
| ⋮ | ⋮ |
| 435 | ····uint8_t·captureCount; | 448 | ····uint8_t·captureCount; |
| 436 | }·DJICameraPhotoAEBParam; | 449 | }·DJICameraPhotoAEBParam; |
| 437 | | 450 | |
| 438 | //----------------------------------------------------------------- | 451 | /*********************************************************************************/ |
| 439 | #pragma·mark·DJICameraPhotoIntervalParam | 452 | #pragma·mark·DJICameraPhotoIntervalParam |
| 440 | //----------------------------------------------------------------- | 453 | /*********************************************************************************/ |
| | 454 | |
| 441 | /** | 455 | /** |
| 442 | ·*··Sets·the·number·of·pictures,·and·sets·the·time·interval·between·pictures·for·the·Interval·shoot·photo·mode. | 456 | ·*··Sets·the·number·of·pictures,·and·sets·the·time·interval·between·pictures·for·the·Interval·shoot·photo·mode. |
| 443 | ·*/ | 457 | ·*/ |
| ⋮ | ⋮ |
| 453 | ····/** | 467 | ····/** |
| 454 | ·····*··The·time·interval·between·when·two·photos·are·taken. | 468 | ·····*··The·time·interval·between·when·two·photos·are·taken. |
| 455 | ·····*··The·range·for·this·parameter·depends·the·photo·file·format(DJICameraPhotoFileFormat). | 469 | ·····*··The·range·for·this·parameter·depends·the·photo·file·format(DJICameraPhotoFileFormat). |
| 456 | ·····*··For·X5·camera·and·X5R·camera,·the·range·is·[5,·2^16·-·1]·seconds. | 470 | ·····*··For·XT·camera,·the·range·is·[1,·60]·seconds. |
| 457 | ·····*··For·XT·camera,·the·range·is·[1,·60]·seconds.· | |
| 458 | ·····*··For·all·other·products,·when·the·file·format·is·JPEG,·the·range·is·[2,·2^16·-·1]·seconds;·when·the·file·format·is·RAW·or·RAW+JPEG,·the·range·is·[10,·2^16·-·1]·seconds. | 471 | ·····*··For·all·other·products,·when·the·file·format·is·JPEG,·the·range·is·[2,·2^16·-·1]·seconds;·when·the·file·format·is·RAW·or·RAW+JPEG,·the·range·is·[10,·2^16·-·1]·seconds. |
| 459 | ·····*/ | 472 | ·····*/ |
| 460 | ····uint16_t·timeIntervalInSeconds; | 473 | ····uint16_t·timeIntervalInSeconds; |
| ⋮ | ⋮ |
| 463 | /*********************************************************************************/ | 476 | /*********************************************************************************/ |
| 464 | #pragma·mark·-·Camera·advanced·settings | 477 | #pragma·mark·-·Camera·advanced·settings |
| 465 | /*********************************************************************************/ | 478 | /*********************************************************************************/ |
| 466 | //----------------------------------------------------------------- | 479 | |
| | 480 | /*********************************************************************************/ |
| 467 | #pragma·mark·DJICameraShutterSpeed | 481 | #pragma·mark·DJICameraShutterSpeed |
| 468 | //----------------------------------------------------------------- | 482 | /*********************************************************************************/ |
| | 483 | |
| 469 | /** | 484 | /** |
| 470 | ·*··Camera's·shutter·speed·options. | 485 | ·*··Camera's·shutter·speed·options. |
| 471 | ·*/ | 486 | ·*/ |
| ⋮ | ⋮ |
| 709 | }; | 724 | }; |
| 710 | | 725 | |
| 711 | | 726 | |
| 712 | //----------------------------------------------------------------- | 727 | /*********************************************************************************/ |
| 713 | #pragma·mark·DJICameraISO | 728 | #pragma·mark·DJICameraISO |
| 714 | //----------------------------------------------------------------- | 729 | /*********************************************************************************/ |
| | 730 | |
| 715 | /** | 731 | /** |
| 716 | ·*··Camera·ISO·values. | 732 | ·*··Camera·ISO·values. |
| 717 | ·*/ | 733 | ·*/ |
| ⋮ | ⋮ |
| 762 | ····DJICameraISOUnknown·=·0xFF | 778 | ····DJICameraISOUnknown·=·0xFF |
| 763 | }; | 779 | }; |
| 764 | | 780 | |
| 765 | //----------------------------------------------------------------- | 781 | /*********************************************************************************/ |
| 766 | #pragma·mark·DJICameraAperture | 782 | #pragma·mark·DJICameraAperture |
| 767 | //----------------------------------------------------------------- | 783 | /*********************************************************************************/ |
| | 784 | |
| 768 | /** | 785 | /** |
| 769 | ·*··Camera·aperture·values.·Currently·only·the·X5·and·X5R·cameras·support | 786 | ·*··Camera·aperture·values.·Currently·only·the·X5·and·X5R·cameras·support |
| 770 | ·*··this·setting. | 787 | ·*··this·setting. |
| ⋮ | ⋮ |
| 872 | ····DJICameraApertureUnknown·=·0xFF | 889 | ····DJICameraApertureUnknown·=·0xFF |
| 873 | }; | 890 | }; |
| 874 | | 891 | |
| 875 | //----------------------------------------------------------------- | 892 | /*********************************************************************************/ |
| 876 | #pragma·mark·DJICameraWhiteBalance | 893 | #pragma·mark·DJICameraWhiteBalance |
| 877 | //----------------------------------------------------------------- | 894 | /*********************************************************************************/ |
| | 895 | |
| 878 | /** | 896 | /** |
| 879 | ·*··Camera·white·balance.·The·default·value·is·`CameraWhiteBalanceAuto`. | 897 | ·*··Camera·white·balance.·The·default·value·is·`CameraWhiteBalanceAuto`. |
| 880 | ·*/ | 898 | ·*/ |
| ⋮ | ⋮ |
| 915 | ····DJICameraWhiteBalanceUnknown·=·0xFF | 933 | ····DJICameraWhiteBalanceUnknown·=·0xFF |
| 916 | }; | 934 | }; |
| 917 | | 935 | |
| 918 | //----------------------------------------------------------------- | 936 | /*********************************************************************************/ |
| 919 | #pragma·mark·DJICameraMeteringMode | 937 | #pragma·mark·DJICameraMeteringMode |
| 920 | //----------------------------------------------------------------- | 938 | /*********************************************************************************/ |
| | 939 | |
| 921 | /** | 940 | /** |
| 922 | ·*··Camera·exposure·metering.·The·default·value·is·`CameraExposureMeteringCenter`. | 941 | ·*··Camera·exposure·metering.·The·default·value·is·`CameraExposureMeteringCenter`. |
| 923 | ·*/ | 942 | ·*/ |
| ⋮ | ⋮ |
| 940 | ····DJICameraMeteringModeUnknown·=·0xFF | 959 | ····DJICameraMeteringModeUnknown·=·0xFF |
| 941 | }; | 960 | }; |
| 942 | | 961 | |
| 943 | //----------------------------------------------------------------- | 962 | /*********************************************************************************/ |
| 944 | #pragma·mark·DJICameraExposureCompensation | 963 | #pragma·mark·DJICameraExposureCompensation |
| 945 | //----------------------------------------------------------------- | 964 | /*********************************************************************************/ |
| | 965 | |
| 946 | /** | 966 | /** |
| 947 | ·*··Camera·exposure·compensation. | 967 | ·*··Camera·exposure·compensation. |
| 948 | ·*/ | 968 | ·*/ |
| ⋮ | ⋮ |
| 1077 | ····DJICameraExposureCompensationUnknown·=·0xFF | 1097 | ····DJICameraExposureCompensationUnknown·=·0xFF |
| 1078 | }; | 1098 | }; |
| 1079 | | 1099 | |
| 1080 | //----------------------------------------------------------------- | 1100 | /*********************************************************************************/ |
| 1081 | #pragma·mark·DJICameraAntiFlicker | 1101 | #pragma·mark·DJICameraAntiFlicker |
| 1082 | //----------------------------------------------------------------- | 1102 | /*********************************************************************************/ |
| | 1103 | |
| 1083 | /** | 1104 | /** |
| 1084 | ·*··Camera·anti-flickers.·The·default·value·is·`CameraAntiFlicker50Hz`. | 1105 | ·*··Camera·anti-flickers.·The·default·value·is·`CameraAntiFlicker50Hz`. |
| 1085 | ·*/ | 1106 | ·*/ |
| ⋮ | ⋮ |
| 1102 | ····DJICameraAntiFlickerUnknown·=·0xFF | 1123 | ····DJICameraAntiFlickerUnknown·=·0xFF |
| 1103 | }; | 1124 | }; |
| 1104 | | 1125 | |
| 1105 | //----------------------------------------------------------------- | 1126 | /*********************************************************************************/ |
| 1106 | #pragma·mark·DJICameraSharpness | 1127 | #pragma·mark·DJICameraSharpness |
| 1107 | //----------------------------------------------------------------- | 1128 | /*********************************************************************************/ |
| | 1129 | |
| 1108 | /** | 1130 | /** |
| 1109 | ·*··Camera·sharpnesss.·The·default·value·is·`CameraSharpnessStandard`. | 1131 | ·*··Camera·sharpnesss.·The·default·value·is·`CameraSharpnessStandard`. |
| 1110 | ·*/ | 1132 | ·*/ |
| ⋮ | ⋮ |
| 1127 | ····DJICameraSharpnessUnknown·=·0xFF | 1149 | ····DJICameraSharpnessUnknown·=·0xFF |
| 1128 | }; | 1150 | }; |
| 1129 | | 1151 | |
| 1130 | //----------------------------------------------------------------- | 1152 | /*********************************************************************************/ |
| 1131 | #pragma·mark·DJICameraContrast | 1153 | #pragma·mark·DJICameraContrast |
| 1132 | //----------------------------------------------------------------- | 1154 | /*********************************************************************************/ |
| | 1155 | |
| 1133 | /** | 1156 | /** |
| 1134 | ·*··Camera·contrast.·The·default·value·is·`CameraContrastStandard`. | 1157 | ·*··Camera·contrast.·The·default·value·is·`CameraContrastStandard`. |
| 1135 | ·*/ | 1158 | ·*/ |
| ⋮ | ⋮ |
| 1156 | #pragma·mark·-·Lens·related | 1179 | #pragma·mark·-·Lens·related |
| 1157 | /*********************************************************************************/ | 1180 | /*********************************************************************************/ |
| 1158 | | 1181 | |
| 1159 | //----------------------------------------------------------------- | 1182 | /*********************************************************************************/ |
| 1160 | #pragma·mark·DJICameraLensFocusMode | 1183 | #pragma·mark·DJICameraLensFocusMode |
| 1161 | //----------------------------------------------------------------- | 1184 | /*********************************************************************************/ |
| | 1185 | |
| 1162 | /** | 1186 | /** |
| 1163 | ·*··Camera·focus·mode. | 1187 | ·*··Camera·focus·mode. |
| 1164 | ·*··It·is·settable·only·when·`IsAdjustableFocalPointSupported`·returns·YES·and·the·physical·AF·switch·on·the·camera·is·set·to·auto. | 1188 | ·*··It·is·settable·only·when·`IsAdjustableFocalPointSupported`·returns·YES·and·the·physical·AF·switch·on·the·camera·is·set·to·auto. |
| ⋮ | ⋮ |
| 1184 | #pragma·mark·-·Thermal·Imaging·Camera·Related | 1208 | #pragma·mark·-·Thermal·Imaging·Camera·Related |
| 1185 | /*********************************************************************************/ | 1209 | /*********************************************************************************/ |
| 1186 | | 1210 | |
| 1187 | //----------------------------------------------------------------- | 1211 | /*********************************************************************************/ |
| 1188 | #pragma·mark·DJICameraThermalROI·(Region·Of·Interest) | 1212 | #pragma·mark·DJICameraThermalROI·(Region·Of·Interest) |
| 1189 | //----------------------------------------------------------------- | 1213 | /*********************************************************************************/ |
| | 1214 | |
| 1190 | /** | 1215 | /** |
| 1191 | ·*··Region·of·interest.·Use·this·feature·to·manage·color·range·distribution·across·the·screen·to·maximize·contrast·for·regions·of·highest·interest. | 1216 | ·*··Region·of·interest.·Use·this·feature·to·manage·color·range·distribution·across·the·screen·to·maximize·contrast·for·regions·of·highest·interest. |
| 1192 | ·*··Supported·only·by·thermal·imaging·cameras.· | 1217 | ·*··Supported·only·by·thermal·imaging·cameras.· |
| ⋮ | ⋮ |
| 1210 | ····DJICameraThermalROIUnknown·=·0xFF | 1235 | ····DJICameraThermalROIUnknown·=·0xFF |
| 1211 | }; | 1236 | }; |
| 1212 | | 1237 | |
| 1213 | //----------------------------------------------------------------- | 1238 | /*********************************************************************************/ |
| 1214 | #pragma·mark·DJICameraThermalPalette | 1239 | #pragma·mark·DJICameraThermalPalette |
| 1215 | //----------------------------------------------------------------- | 1240 | /*********************************************************************************/ |
| | 1241 | |
| 1216 | /** | 1242 | /** |
| 1217 | ·*··The·different·colors·are·used·to·show·various·temperatures·in·the·thermal·imagery·image.·The·colors·are·not·actually·related·to·wavelengths·of·light,·but·rather·the·grayscale·intensity. | 1243 | ·*··The·different·colors·are·used·to·show·various·temperatures·in·the·thermal·imagery·image.·The·colors·are·not·actually·related·to·wavelengths·of·light,·but·rather·the·grayscale·intensity. |
| 1218 | ·*··Supported·only·by·thermal·imaging·cameras.· | 1244 | ·*··Supported·only·by·thermal·imaging·cameras.· |
| ⋮ | ⋮ |
| 1280 | ····DJICameraThermalPaletteUnknown·=·0xFF | 1306 | ····DJICameraThermalPaletteUnknown·=·0xFF |
| 1281 | }; | 1307 | }; |
| 1282 | | 1308 | |
| 1283 | //----------------------------------------------------------------- | 1309 | /*********************************************************************************/ |
| 1284 | #pragma·mark·DJICameraThermalScene | 1310 | #pragma·mark·DJICameraThermalScene |
| 1285 | //----------------------------------------------------------------- | 1311 | /*********************************************************************************/ |
| | 1312 | |
| 1286 | /** | 1313 | /** |
| 1287 | ·*··Uses·the·Scene·option·to·instantly·enhance·your·image. | 1314 | ·*··Uses·the·Scene·option·to·instantly·enhance·your·image. |
| 1288 | ·*··Supported·only·by·thermal·imaging·cameras.· | 1315 | ·*··Supported·only·by·thermal·imaging·cameras.· |
| ⋮ | ⋮ |
| 1330 | ····DJICameraThermalSceneUnknown·=·0xFF | 1357 | ····DJICameraThermalSceneUnknown·=·0xFF |
| 1331 | }; | 1358 | }; |
| 1332 | | 1359 | |
| 1333 | //----------------------------------------------------------------- | 1360 | /*********************************************************************************/ |
| 1334 | #pragma·mark·DJICameraThermalIsothermUnit | 1361 | #pragma·mark·DJICameraThermalIsothermUnit |
| 1335 | //----------------------------------------------------------------- | 1362 | /*********************************************************************************/ |
| | 1363 | |
| 1336 | /** | 1364 | /** |
| 1337 | ·*··The·unit·for·Isotherm. | 1365 | ·*··The·unit·for·Isotherm. |
| 1338 | ·*··Supported·only·by·thermal·imaging·cameras.· | 1366 | ·*··Supported·only·by·thermal·imaging·cameras.· |
| ⋮ | ⋮ |
| 1352 | ····DJICameraThermalIsothermUnitUnknown·=·0xFF | 1380 | ····DJICameraThermalIsothermUnitUnknown·=·0xFF |
| 1353 | }; | 1381 | }; |
| 1354 | | 1382 | |
| 1355 | //----------------------------------------------------------------- | 1383 | /*********************************************************************************/ |
| 1356 | #pragma·mark·DJICameraThermalGainMode | 1384 | #pragma·mark·DJICameraThermalGainMode |
| 1357 | //----------------------------------------------------------------- | 1385 | /*********************************************************************************/ |
| | 1386 | |
| 1358 | /** | 1387 | /** |
| 1359 | ·*··The·gain·mode. | 1388 | ·*··The·gain·mode. |
| 1360 | ·*··Supported·only·by·thermal·imaging·cameras.· | 1389 | ·*··Supported·only·by·thermal·imaging·cameras.· |
| ⋮ | ⋮ |
| 1378 | ····DJICameraThermalGainModeUnknown·=·0xFF | 1407 | ····DJICameraThermalGainModeUnknown·=·0xFF |
| 1379 | }; | 1408 | }; |
| 1380 | | 1409 | |
| 1381 | //----------------------------------------------------------------- | 1410 | /*********************************************************************************/ |
| 1382 | #pragma·mark·DJICameraThermalResolution | 1411 | #pragma·mark·DJICameraThermalResolution |
| 1383 | //----------------------------------------------------------------- | 1412 | /*********************************************************************************/ |
| | 1413 | |
| 1384 | /** | 1414 | /** |
| 1385 | ·*··The·resolution·of·thermal·imaging·camera. | 1415 | ·*··The·resolution·of·thermal·imaging·camera. |
| 1386 | ·*··Supported·only·by·thermal·imaging·cameras.· | 1416 | ·*··Supported·only·by·thermal·imaging·cameras.· |
| ⋮ | ⋮ |
| 1400 | ····DJICameraThermalResolutionUnknown·=·0xFF | 1430 | ····DJICameraThermalResolutionUnknown·=·0xFF |
| 1401 | }; | 1431 | }; |
| 1402 | | 1432 | |
| 1403 | //----------------------------------------------------------------- | 1433 | /*********************************************************************************/ |
| 1404 | #pragma·mark·DJICameraThermalFrameRateUpperBound | 1434 | #pragma·mark·DJICameraThermalFrameRateUpperBound |
| 1405 | //----------------------------------------------------------------- | 1435 | /*********************************************************************************/ |
| | 1436 | |
| 1406 | /** | 1437 | /** |
| 1407 | ·*··The·frame·rate·upper·bound·supported·by·the·thermal·camera. | 1438 | ·*··The·frame·rate·upper·bound·supported·by·the·thermal·camera. |
| 1408 | ·*··Supported·only·by·thermal·imaging·cameras.· | 1439 | ·*··Supported·only·by·thermal·imaging·cameras.· |
| ⋮ | ⋮ |
| 1422 | ····DJICameraThermalFrameRateUpperBoundUnknown·=·0xFF | 1453 | ····DJICameraThermalFrameRateUpperBoundUnknown·=·0xFF |
| 1423 | }; | 1454 | }; |
| 1424 | | 1455 | |
| 1425 | //----------------------------------------------------------------- | 1456 | /*********************************************************************************/ |
| 1426 | #pragma·mark·DJICameraThermalLens | 1457 | #pragma·mark·DJICameraThermalLens |
| 1427 | //----------------------------------------------------------------- | 1458 | /*********************************************************************************/ |
| | 1459 | |
| 1428 | /** | 1460 | /** |
| 1429 | ·*··The·lens·model·of·the·thermal·imaging·camera. | 1461 | ·*··The·lens·model·of·the·thermal·imaging·camera. |
| 1430 | ·*··Supported·only·by·thermal·imaging·cameras.· | 1462 | ·*··Supported·only·by·thermal·imaging·cameras.· |
| ⋮ | ⋮ |
| 1456 | ····DJICameraThermalLensModelUnknown·=·0xFF | 1488 | ····DJICameraThermalLensModelUnknown·=·0xFF |
| 1457 | }; | 1489 | }; |
| 1458 | | 1490 | |
| 1459 | //----------------------------------------------------------------- | 1491 | /*********************************************************************************/ |
| 1460 | #pragma·mark·DJICameraThermalProfile | 1492 | #pragma·mark·DJICameraThermalProfile |
| 1461 | //----------------------------------------------------------------- | 1493 | /*********************************************************************************/ |
| | 1494 | |
| 1462 | /** | 1495 | /** |
| 1463 | ·*··The·profile·of·the·thermal·imaging·camera,·which·includes·information·about·resolution,·frame·rate·and·focal·length. | 1496 | ·*··The·profile·of·the·thermal·imaging·camera,·which·includes·information·about·resolution,·frame·rate·and·focal·length. |
| 1464 | ·*··Supported·only·by·thermal·imaging·cameras. | 1497 | ·*··Supported·only·by·thermal·imaging·cameras. |
| ⋮ | ⋮ |
| 1483 | #pragma·mark·-·Others | 1516 | #pragma·mark·-·Others |
| 1484 | /*********************************************************************************/ | 1517 | /*********************************************************************************/ |
| 1485 | | 1518 | |
| 1486 | //----------------------------------------------------------------- | 1519 | /*********************************************************************************/ |
| 1487 | #pragma·mark·DJICameraFileIndexMode | 1520 | #pragma·mark·DJICameraFileIndexMode |
| 1488 | //----------------------------------------------------------------- | 1521 | /*********************************************************************************/ |
| | 1522 | |
| 1489 | /** | 1523 | /** |
| 1490 | ·*··File·index·modes. | 1524 | ·*··File·index·modes. |
| 1491 | ·*/ | 1525 | ·*/ |
| ⋮ | ⋮ |
| 1506 | ····DJICameraFileIndexModeUnknown·=·0xFF | 1540 | ····DJICameraFileIndexModeUnknown·=·0xFF |
| 1507 | }; | 1541 | }; |
| 1508 | | 1542 | |
| 1509 | //----------------------------------------------------------------- | 1543 | /*********************************************************************************/ |
| 1510 | #pragma·mark·DJICameraCustomSettings | 1544 | #pragma·mark·DJICameraCustomSettings |
| 1511 | //----------------------------------------------------------------- | 1545 | /*********************************************************************************/ |
| | 1546 | |
| 1512 | /** | 1547 | /** |
| 1513 | ·*··Camera·user·settings.·A·user·can·save·or·load·camera·settings·to·or·from·the·specified·user. | 1548 | ·*··Camera·user·settings.·A·user·can·save·or·load·camera·settings·to·or·from·the·specified·user. |
| 1514 | ·*/ | 1549 | ·*/ |
| ⋮ | ⋮ |
| 1539 | ····DJICameraCustomSettingsUnknown·=·0xFF | 1574 | ····DJICameraCustomSettingsUnknown·=·0xFF |
| 1540 | }; | 1575 | }; |
| 1541 | | 1576 | |
| 1542 | //----------------------------------------------------------------- | 1577 | /*********************************************************************************/ |
| 1543 | #pragma·mark·DJICameraDigitalFilter | 1578 | #pragma·mark·DJICameraDigitalFilter |
| 1544 | //----------------------------------------------------------------- | 1579 | /*********************************************************************************/ |
| | 1580 | |
| 1545 | /** | 1581 | /** |
| 1546 | ·*··Camera·digital·filters.·The·default·value·is·`DJICameraDigitalFilterNone`. | 1582 | ·*··Camera·digital·filters.·The·default·value·is·`DJICameraDigitalFilterNone`. |
| 1547 | ·*/ | 1583 | ·*/ |
| ⋮ | ⋮ |
| 1575 | ·····*/ | 1611 | ·····*/ |
| 1576 | ····DJICameraDigitalFilterMovie, | 1612 | ····DJICameraDigitalFilterMovie, |
| 1577 | ····/** | 1613 | ····/** |
| 1578 | ·····*··This·digital·filter·is·currently·not·supported. | 1614 | ·····*·The·digital·filter·is·set·to·portrait.·Only·supported·by·OSMO·with·X3·camera. |
| 1579 | ·····*/ | 1615 | ·····*/ |
| 1580 | ····DJICameraDigitalFilterPunk, | 1616 | ····DJICameraDigitalFilterPortrait, |
| 1581 | ····/** | 1617 | ····/** |
| 1582 | ·····*··This·digital·filter·is·currently·not·supported. | 1618 | ·····*··This·digital·filter·is·currently·not·supported. |
| 1583 | ·····*/ | 1619 | ·····*/ |
| ⋮ | ⋮ |
| 1648 | ····DJICameraDigitalFilterUnknown·=·0xFF | 1684 | ····DJICameraDigitalFilterUnknown·=·0xFF |
| 1649 | }; | 1685 | }; |
| 1650 | | 1686 | |
| 1651 | //----------------------------------------------------------------- | 1687 | /*********************************************************************************/ |
| 1652 | #pragma·mark·DJICameraThermalDigitalZoomScale | 1688 | #pragma·mark·DJICameraThermalDigitalZoomScale |
| 1653 | //----------------------------------------------------------------- | 1689 | /*********************************************************************************/ |
| | 1690 | |
| 1654 | /** | 1691 | /** |
| 1655 | ·*··Camera·Thermal·Digital·Zoom·Scale.·The·default·value·is·`DJICameraThermalDigitalZoomScalex1`. | 1692 | ·*··Camera·Thermal·Digital·Zoom·Scale.·The·default·value·is·`DJICameraThermalDigitalZoomScalex1`. |
| 1656 | ·*/ | 1693 | ·*/ |
| ⋮ | ⋮ |
| 1677 | ····DJICameraThermalDigitalZoomScaleUnknown·=·0xFF | 1714 | ····DJICameraThermalDigitalZoomScaleUnknown·=·0xFF |
| 1678 | }; | 1715 | }; |
| 1679 | | 1716 | |
| 1680 | //----------------------------------------------------------------- | 1717 | /*********************************************************************************/ |
| 1681 | #pragma·mark·DJIDownloadFileType | 1718 | #pragma·mark·DJIDownloadFileType |
| 1682 | //----------------------------------------------------------------- | 1719 | /*********************************************************************************/ |
| | 1720 | |
| 1683 | /** | 1721 | /** |
| 1684 | ·*··Download·file·types.·This·typedef·is·only·supported·for·the·Phantom·3 | 1722 | ·*··Download·file·types.·This·typedef·is·only·supported·for·the·Phantom·3 |
| 1685 | ·*··Professional·and·the·Inspire·1. | 1723 | ·*··Professional·and·the·Inspire·1. |
| diff --git a/Headers/DJIFlightController.h b/Headers/DJIFlightController.h
|
| index b33d479..c055cf8 100644
|
| 3.1.1/Headers/DJIFlightController.h | 3.2/Headers/DJIFlightController.h |
| ⋮ | ⋮ |
| 15 | @class·DJIFlightLimitation; | 15 | @class·DJIFlightLimitation; |
| 16 | @class·DJILandingGear; | 16 | @class·DJILandingGear; |
| 17 | @class·DJICompass; | 17 | @class·DJICompass; |
| | 18 | @class·DJIRTK; |
| 18 | @class·DJIIntelligentFlightAssistant; | 19 | @class·DJIIntelligentFlightAssistant; |
| | 20 | @class·DJISimulator; |
| 19 | | 21 | |
| 20 | NS_ASSUME_NONNULL_BEGIN | 22 | NS_ASSUME_NONNULL_BEGIN |
| 21 | | 23 | |
| ⋮ | ⋮ |
| 34 | ·*··aircraft·enters·a·no·fly·zone,·it·will·stop·and·hover | 36 | ·*··aircraft·enters·a·no·fly·zone,·it·will·stop·and·hover |
| 35 | ·*··at·the·border. | 37 | ·*··at·the·border. |
| 36 | ·*/ | 38 | ·*/ |
| 37 | //----------------------------------------------------------------- | 39 | |
| | 40 | /*********************************************************************************/ |
| 38 | #pragma·mark·DJINoFlyZone | 41 | #pragma·mark·DJINoFlyZone |
| 39 | //----------------------------------------------------------------- | 42 | /*********************************************************************************/ |
| | 43 | |
| 40 | /** | 44 | /** |
| 41 | ·*··Defines·the·No·Fly·Zone·Data·structure. | 45 | ·*··Defines·the·No·Fly·Zone·Data·structure. |
| 42 | ·*/ | 46 | ·*/ |
| 43 | typedef·struct | 47 | typedef·struct |
| 44 | { | 48 | { |
| 45 | ····/** | 49 | ····/** |
| 46 | ·····*··Radius·of·No·Fly·Zone·in·meters. | 50 | ·····*··Radius·of·the·No·Fly·Zone·in·meters. |
| 47 | ·····*/ | 51 | ·····*/ |
| 48 | ····float·zoneRadius; | 52 | ····float·zoneRadius; |
| 49 | ····/** | 53 | ····/** |
| 50 | ·····*··Center·Coordinate·of·No·Fly·Zone. | 54 | ·····*··Center·Coordinate·of·the·No·Fly·Zone. |
| 51 | ·····*/ | 55 | ·····*/ |
| 52 | ····CLLocationCoordinate2D·zoneCenterCoordinate; | 56 | ····CLLocationCoordinate2D·zoneCenterCoordinate; |
| 53 | }·DJINoFlyZone; | 57 | }·DJINoFlyZone; |
| 54 | | 58 | |
| 55 | //----------------------------------------------------------------- | 59 | /*********************************************************************************/ |
| 56 | #pragma·mark·DJIFlightControl | 60 | #pragma·mark·DJIFlightControl |
| 57 | //----------------------------------------------------------------- | 61 | /*********************************************************************************/ |
| 58 | | 62 | |
| 59 | /** | 63 | /** |
| 60 | ·*··Flight·control·coordinate·system. | 64 | ·*··Flight·control·coordinate·system. |
| ⋮ | ⋮ |
| 189 | }; | 193 | }; |
| 190 | | 194 | |
| 191 | /** | 195 | /** |
| 192 | ·*·Contains·all·the·virtual·stick·control·data·needed·to·move·the·aircraft·in·all·directions | 196 | ·*··Defines·aircraft·failsafe·action·when·signal·between·the·remote·controller·and·the·aircraft·is·lost. |
| | 197 | ·*/ |
| | 198 | typedef·NS_ENUM·(uint8_t,·DJIFlightFailsafeOperation){ |
| | 199 | ····/** |
| | 200 | ·····*··Hover |
| | 201 | ·····*/ |
| | 202 | ····DJIFlightFailsafeOperationHover, |
| | 203 | ····/** |
| | 204 | ·····*··Landing |
| | 205 | ·····*/ |
| | 206 | ····DJIFlightFailsafeOperationLanding, |
| | 207 | ····/** |
| | 208 | ·····*··Return-to-Home |
| | 209 | ·····*/ |
| | 210 | ····DJIFlightFailsafeOperationGoHome, |
| | 211 | ····/** |
| | 212 | ·····*··Unknown |
| | 213 | ·····*/ |
| | 214 | ····DJIFlightFailsafeOperationUnknown·=·0xFF |
| | 215 | }; |
| | 216 | |
| | 217 | |
| | 218 | /** |
| | 219 | ·*··Contains·all·the·virtual·stick·control·data·needed·to·move·the·aircraft·in·all·directions |
| 193 | ·*/ | 220 | ·*/ |
| 194 | typedef·struct | 221 | typedef·struct |
| 195 | { | 222 | { |
| ⋮ | ⋮ |
| 237 | ·*··@param·fc····Instance·of·the·flight·controller·for·which·the·data·will·be·updated. | 264 | ·*··@param·fc····Instance·of·the·flight·controller·for·which·the·data·will·be·updated. |
| 238 | ·*··@param·state·Current·state·of·the·flight·controller. | 265 | ·*··@param·state·Current·state·of·the·flight·controller. |
| 239 | ·*/ | 266 | ·*/ |
| 240 | -·(void)flightController:(DJIFlightController·*)fc·didUpdateSystemState:(DJIFlightControllerCurrentState·*)state; | 267 | -·(void)flightController:(DJIFlightController·*·_Nonnull)fc·didUpdateSystemState:(DJIFlightControllerCurrentState·*_Nonnull)state; |
| 241 | | 268 | |
| 242 | /** | 269 | /** |
| 243 | ·*··Callback·function·that·updates·the·data·received·from·an·external·device·(e.g.·the·onboard·device). | 270 | ·*··Callback·function·that·updates·the·data·received·from·an·external·device·(e.g.·the·onboard·device). |
| ⋮ | ⋮ |
| 247 | ·*··@param·data··Data·received·from·an·external·device.·The·size·of·the·data·will·not·be·larger | 274 | ·*··@param·data··Data·received·from·an·external·device.·The·size·of·the·data·will·not·be·larger |
| 248 | ·*··than·100·bytes. | 275 | ·*··than·100·bytes. |
| 249 | ·*/ | 276 | ·*/ |
| 250 | -·(void)flightController:(DJIFlightController·*)fc·didReceiveDataFromExternalDevice:(NSData·*)data; | 277 | -·(void)flightController:(DJIFlightController·*_Nonnull)fc·didReceiveDataFromExternalDevice:(NSData·*_Nonnull)data; |
| 251 | | 278 | |
| 252 | /** | 279 | /** |
| 253 | ·*··Update·IMU·State. | 280 | ·*··Update·IMU·State. |
| ⋮ | ⋮ |
| 256 | ·*··@param·imuState·DJIIMUState·object. | 283 | ·*··@param·imuState·DJIIMUState·object. |
| 257 | ·* | 284 | ·* |
| 258 | ·*/ | 285 | ·*/ |
| 259 | -·(void)flightController:(DJIFlightController·*)fc·didUpdateIMUState:(DJIIMUState·*)imuState; | 286 | -·(void)flightController:(DJIFlightController·*_Nonnull)fc·didUpdateIMUState:(DJIIMUState·*_Nonnull)imuState; |
| 260 | | 287 | |
| 261 | @end | 288 | @end |
| 262 | | 289 | |
| ⋮ | ⋮ |
| 278 | ·*··Flight·limitation·object.·This·object·sets,·gets·and·tracks·the·state·of·the·maximum·flight·height | 305 | ·*··Flight·limitation·object.·This·object·sets,·gets·and·tracks·the·state·of·the·maximum·flight·height |
| 279 | ·*··and·radius·allowed. | 306 | ·*··and·radius·allowed. |
| 280 | ·*/ | 307 | ·*/ |
| 281 | @property(nonatomic,·readonly)·DJIFlightLimitation·*flightLimitation; | 308 | @property(nonatomic,·readonly)·DJIFlightLimitation·*·_Nullable·flightLimitation; |
| 282 | | 309 | |
| 283 | /** | 310 | /** |
| 284 | ·*··Landing·Gear·object.·For·products·with·moveable·landing·gear·only. | 311 | ·*··Landing·Gear·object.·For·products·with·moveable·landing·gear·only.· |
| | 312 | ·*··It·is·supported·by·Inspire·1·and·Matrice·600.· |
| 285 | ·*/ | 313 | ·*/ |
| 286 | @property(nonatomic,·readonly)·DJILandingGear·*landingGear; | 314 | @property(nonatomic,·readonly)·DJILandingGear·*·_Nullable·landingGear; |
| 287 | | 315 | |
| 288 | /** | 316 | /** |
| 289 | ·*··Compass·object. | 317 | ·*··Compass·object. |
| 290 | ·*/ | 318 | ·*/ |
| 291 | @property(nonatomic,·readonly)·DJICompass·*compass; | 319 | @property(nonatomic,·readonly)·DJICompass·*·_Nullable·compass; |
| | 320 | |
| | 321 | /** |
| | 322 | ·*··RTK·positioning·object. |
| | 323 | ·*/ |
| | 324 | @property(nonatomic,·readonly)·DJIRTK·*·_Nullable·rtk; |
| 292 | | 325 | |
| 293 | /** | 326 | /** |
| 294 | ·*··Intelligent·flight·assistant. | 327 | ·*··Intelligent·flight·assistant. |
| 295 | ·*/ | 328 | ·*/ |
| 296 | @property(nonatomic,·readonly)·DJIIntelligentFlightAssistant*·intelligentFlightAssistant; | 329 | @property(nonatomic,·readonly)·DJIIntelligentFlightAssistant·*·_Nullable·intelligentFlightAssistant; |
| | 330 | |
| | 331 | /** |
| | 332 | ·*··Simulator·object. |
| | 333 | ·*/ |
| | 334 | @property(nonatomic,·readonly)·DJISimulator·*·_Nullable·simulator; |
| 297 | | 335 | |
| 298 | /** | 336 | /** |
| 299 | ·*··The·number·of·IMU·module·in·the·flight·controller. | 337 | ·*··The·number·of·IMU·module·in·the·flight·controller. |
| ⋮ | ⋮ |
| 318 | ·*··Roll/Pitch·control·coordinate·system. | 356 | ·*··Roll/Pitch·control·coordinate·system. |
| 319 | ·*/ | 357 | ·*/ |
| 320 | @property(nonatomic,·assign)·DJIVirtualStickFlightCoordinateSystem·rollPitchCoordinateSystem; | 358 | @property(nonatomic,·assign)·DJIVirtualStickFlightCoordinateSystem·rollPitchCoordinateSystem; |
| | 359 | /** |
| | 360 | ·*··`YES`·if·Virtual·Stick·advanced·mode·is·enabled.·By·default,·it·is·`NO`.· |
| | 361 | ·*··When·advanced·mode·is·enabled,·the·aircraft·will·compensate·for·wind·when·hovering·and·the·GPS·signal·is·good.· |
| | 362 | ·*··For·the·Phantom·4,·collision·avoidance·can·be·enabled·for·virtual·stick·control·if·advanced·mode·is·on,·and·collision·avoidance·is·enabled·in·`DJIIntelligentFlightAssistant`. |
| | 363 | ·* |
| | 364 | ·*··It·is·only·supported·by·flight·controller·firmware·versions·3.1.x.x·or·above. |
| | 365 | ·*/ |
| | 366 | @property(nonatomic,·assign)·BOOL·virtualStickAdvancedModeEnabled; |
| 321 | | 367 | |
| 322 | //----------------------------------------------------------------- | 368 | /*********************************************************************************/ |
| 323 | #pragma·mark·Methods | 369 | #pragma·mark·Methods |
| 324 | //----------------------------------------------------------------- | 370 | /*********************************************************************************/ |
| | 371 | |
| | 372 | /** |
| | 373 | ·*··YES·if·the·landing·gear·is·supported·for·the·connected·aircraft. |
| | 374 | ·*/ |
| | 375 | -·(BOOL)isLandingGearMovable; |
| | 376 | |
| 325 | /** | 377 | /** |
| 326 | ·*··Starts·aircraft·takeoff.·Takeoff·is·considered·complete·when·the·aircraft·is·hovering·1.2·meters·(4·feet) | 378 | ·*··Starts·aircraft·takeoff.·Takeoff·is·considered·complete·when·the·aircraft·is·hovering·1.2·meters·(4·feet) |
| 327 | ·*··above·the·ground.·Completion·block·is·called·when·aircraft·crosses·0.5·meters·(1.6·feet). | 379 | ·*··above·the·ground.·Completion·block·is·called·when·aircraft·crosses·0.5·meters·(1.6·feet). |
| ⋮ | ⋮ |
| 409 | ·*··Gets·the·home·point·of·the·aircraft. | 461 | ·*··Gets·the·home·point·of·the·aircraft. |
| 410 | ·* | 462 | ·* |
| 411 | ·*/ | 463 | ·*/ |
| 412 | -·(void)getHomeLocationWithCompletion:(void·(^)(CLLocationCoordinate2D·homePoint,·NSError·*_Nullable·error))completion; | 464 | -·(void)getHomeLocationWithCompletion:(void·(^_Nonnull)(CLLocationCoordinate2D·homePoint,·NSError·*_Nullable·error))completion; |
| 413 | | 465 | |
| 414 | /** | 466 | /** |
| 415 | ·*··Sets·the·minimum·altitude,·relative·to·where·the·aircraft·took·off,·at·which·the·the·aircraft·must·be·before·going | 467 | ·*··Sets·the·minimum·altitude,·relative·to·where·the·aircraft·took·off,·at·which·the·the·aircraft·must·be·before·going |
| ⋮ | ⋮ |
| 427 | ·* | 479 | ·* |
| 428 | ·*··@param·completion·Completion·block. | 480 | ·*··@param·completion·Completion·block. |
| 429 | ·*/ | 481 | ·*/ |
| 430 | -·(void)getGoHomeAltitudeWithCompletion:(void·(^)(float·altitude,·NSError·*_Nullable·error))completion; | 482 | -·(void)getGoHomeAltitudeWithCompletion:(void·(^_Nonnull)(float·altitude,·NSError·*_Nullable·error))completion; |
| | 483 | |
| | 484 | /** |
| | 485 | ·*··Sets·the·FailSafe·action·for·when·the·connection·between·remote·controller·and·aircraft·is·lost. |
| | 486 | ·* |
| | 487 | ·*··@param·operation····The·Failsafe·action. |
| | 488 | ·*··@param·completion···Completion·block. |
| | 489 | ·*/ |
| | 490 | -·(void)setFlightFailsafeOperation:(DJIFlightFailsafeOperation)operation·withCompletion:(DJICompletionBlock)completion; |
| 431 | | 491 | |
| 432 | /** | 492 | /** |
| | 493 | ·*·Gets·the·FailSafe·action·for·when·the·connection·between·remote·controller·and·aircraft·is·lost. |
| | 494 | ·*/ |
| | 495 | -·(void)getFlightFailsafeOperationWithCompletion:(void(^_Nonnull)(DJIFlightFailsafeOperation·operation,·NSError*·_Nullable·error))completion; |
| | 496 | /** |
| 433 | ·*··Check·if·the·onboard·SDK·device·is·available. | 497 | ·*··Check·if·the·onboard·SDK·device·is·available. |
| 434 | ·*/ | 498 | ·*/ |
| 435 | -·(BOOL)isOnboardSDKDeviceAvailable; | 499 | -·(BOOL)isOnboardSDKDeviceAvailable; |
| ⋮ | ⋮ |
| 441 | ·*··@param·completion·Completion·block. | 505 | ·*··@param·completion·Completion·block. |
| 442 | ·* | 506 | ·* |
| 443 | ·*/ | 507 | ·*/ |
| 444 | -·(void)sendDataToOnboardSDKDevice:(NSData·*)data·withCompletion:(DJICompletionBlock)completion; | 508 | -·(void)sendDataToOnboardSDKDevice:(NSData·*_Nonnull)data·withCompletion:(DJICompletionBlock)completion; |
| 445 | | 509 | |
| 446 | /** | 510 | /** |
| 447 | ·*··Sets·the·low·battery·go·home·percentage·threshold.·The·percentage·must·be·in·the·range·[25,·50]. | 511 | ·*··Sets·the·low·battery·go·home·percentage·threshold.·The·percentage·must·be·in·the·range·[25,·50]. |
| 448 | ·* | 512 | ·* |
| 449 | ·*··@param·percent·Go·home·battery·percentage. | 513 | ·*··@param·percent·Low·battery·warning·percentage. |
| 450 | ·*··@param·completion···Completion·block. | 514 | ·*··@param·completion···Completion·block. |
| 451 | ·*/ | 515 | ·*/ |
| 452 | -·(void)setGoHomeBatteryThreshold:(uint8_t)percent·withCompletion:(DJICompletionBlock)completion; | 516 | -·(void)setGoHomeBatteryThreshold:(uint8_t)percent·withCompletion:(DJICompletionBlock)completion; |
| ⋮ | ⋮ |
| 456 | ·*··in·the·range·[25,·50]. | 520 | ·*··in·the·range·[25,·50]. |
| 457 | ·* | 521 | ·* |
| 458 | ·*/ | 522 | ·*/ |
| 459 | -·(void)getGoHomeBatteryThresholdWithCompletion:(void·(^)(uint8_t·percent,·NSError·*_Nullable·error))completion; | 523 | -·(void)getGoHomeBatteryThresholdWithCompletion:(void·(^_Nonnull)(uint8_t·percent,·NSError·*_Nullable·error))completion; |
| 460 | | 524 | |
| 461 | /** | 525 | /** |
| 462 | ·*··Sets·the·serious·battery·land·immediately·percentage·threshold.·The·percentage·must·be·in·the | 526 | ·*··Sets·the·serious·battery·land·immediately·percentage·threshold.·The·percentage·must·be·in·the |
| 463 | ·*··range·[10,·25]. | 527 | ·*··range·[10,·25]. |
| 464 | ·* | 528 | ·* |
| 465 | ·*··@param·percent·Land·immediately·battery·percentage. | 529 | ·*··@param·percent·Serious·low·battery·warning·percentage. |
| 466 | ·*··@param·completion···Completion·block. | 530 | ·*··@param·completion···Completion·block. |
| 467 | ·*/ | 531 | ·*/ |
| 468 | -·(void)setLandImmediatelyBatteryThreshold:(uint8_t)percent·withCompletion:(DJICompletionBlock)completion; | 532 | -·(void)setLandImmediatelyBatteryThreshold:(uint8_t)percent·withCompletion:(DJICompletionBlock)completion; |
| ⋮ | ⋮ |
| 472 | ·*··be·in·the·range·[10,·25]. | 536 | ·*··be·in·the·range·[10,·25]. |
| 473 | ·* | 537 | ·* |
| 474 | ·*/ | 538 | ·*/ |
| 475 | -·(void)getLandImmediatelyBatteryThresholdWithCompletion:(void·(^)(uint8_t·percent,·NSError·*_Nullable·error))completion; | 539 | -·(void)getLandImmediatelyBatteryThresholdWithCompletion:(void·(^_Nonnull)(uint8_t·percent,·NSError·*_Nullable·error))completion; |
| 476 | | 540 | |
| 477 | /** | 541 | /** |
| 478 | ·*··Start·the·calibration·for·IMU.·For·Phantom·4,·this·method·will·start·the·calibration·for·two·IMUs.·Please·keep·stationary·and·horizontal·during·calibration.·The·calibration·will·take·5·~·10·minutes.·The·completion·block·will·be·called·once·the·calibration·is·started.·Please·use·the·[flightController:didUpdateIMUState:]·method·in·'DJIFlightControllerDelegate'·to·check·the·execution·status·of·the·IMU·calibration. | 542 | ·*··Start·the·calibration·for·IMU.·For·aircrafts·with·multiple·IMUs,·this·method·will·start·the·calibration·for·all·IMUs.·Please·keep·stationary·and·horizontal·during·calibration.·The·calibration·will·take·5·~·10·minutes.·The·completion·block·will·be·called·once·the·calibration·is·started.·Please·use·the·[flightController:didUpdateIMUState:]·method·in·'DJIFlightControllerDelegate'·to·check·the·execution·status·of·the·IMU·calibration. |
| 479 | ·* | |
| 480 | ·*··@param·completion·Completion·block. | |
| 481 | ·* | 543 | ·* |
| | 544 | ·*··@param·completion·Completion·block·to·check·if·the·calibration·starts·successfully. |
| 482 | ·*/ | 545 | ·*/ |
| 483 | -·(void)startIMUCalibrationWithCompletion:(DJICompletionBlock)completion; | 546 | -·(void)startIMUCalibrationWithCompletion:(DJICompletionBlock)completion; |
| 484 | | 547 | |
| | 548 | /** |
| | 549 | ·*··Start·the·calibration·for·IMU·with·a·specific·ID.·Please·keep·stationary·and·horizontal·during·calibration.·The·calibration·will·take·5·~·10·minutes.·The·completion·block·will·be·called·once·the·calibration·is·started.·Use·the·[flightController:didUpdateIMUState:]·method·in·`DJIFlightControllerDelegate`·to·check·the·execution·status·of·the·IMU·calibration. |
| | 550 | ·*··Only·supported·by·Matrice·600. |
| | 551 | ·* |
| | 552 | ·*··@param·imuID········The·IMU·with·the·specific·ID·to·calibrate. |
| | 553 | ·*··@param·completion···Completion·block·to·check·if·the·calibration·starts·successfully. |
| | 554 | ·*/ |
| | 555 | -·(void)startIMUCalibrationForID:(NSUInteger)imuID·withCompletion:(DJICompletionBlock)completion; |
| | 556 | |
| | 557 | /** |
| | 558 | ·*··Turns·on/off·the·LEDs·in·the·front.·The·LEDs·are·used·to·indicate·the·status·of·the·aircraft.·By·default,·it·is·on. |
| | 559 | ·*··It·is·only·supported·by·Phantom·3·series·and·Phantom·4. |
| | 560 | ·* |
| | 561 | ·*··@param·enabled······`YES`·to·turn·on·the·front·LEDs,·`NO`·to·trun·off. |
| | 562 | ·*··@param·completion···Completion·block·that·receives·the·getter·execution·result. |
| | 563 | ·*/ |
| | 564 | -·(void)setLEDsEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)completion; |
| | 565 | |
| | 566 | /** |
| | 567 | ·*··Gets·if·the·LEDs·in·the·front·is·enabled·or·not. |
| | 568 | ·*··It·is·only·supported·by·Phantom·3·series·and·Phantom·4. |
| | 569 | ·* |
| | 570 | ·*··@param·completion·Completion·block·that·receives·the·getter·execution·result. |
| | 571 | ·*/ |
| | 572 | -·(void)getLEDsEnabled:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))completion; |
| | 573 | |
| 485 | @end | 574 | @end |
| 486 | | 575 | |
| 487 | /** | 576 | /** |
| diff --git a/Headers/DJIFlightControllerCurrentState.h b/Headers/DJIFlightControllerCurrentState.h
|
| index 692e86f..463e4d8 100644
|
| 3.1.1/Headers/DJIFlightControllerCurrentState.h | 3.2/Headers/DJIFlightControllerCurrentState.h |
| ⋮ | ⋮ |
| 14 | #pragma·mark·-·Data·Structs·and·Enums | 14 | #pragma·mark·-·Data·Structs·and·Enums |
| 15 | /*********************************************************************************/ | 15 | /*********************************************************************************/ |
| 16 | | 16 | |
| 17 | //----------------------------------------------------------------- | 17 | /*********************************************************************************/ |
| 18 | #pragma·mark·DJIAttitude | 18 | #pragma·mark·DJIAttitude |
| 19 | //----------------------------------------------------------------- | 19 | /*********************************************************************************/ |
| | 20 | |
| 20 | /** | 21 | /** |
| 21 | ·*··Aircraft·attitude.·The·attitude·of·the·aircraft·is·made·up·of·the·pitch,·roll,·and·yaw. | 22 | ·*··Aircraft·attitude.·The·attitude·of·the·aircraft·is·made·up·of·the·pitch,·roll,·and·yaw. |
| 22 | ·*/ | 23 | ·*/ |
| ⋮ | ⋮ |
| 36 | ····double·yaw; | 37 | ····double·yaw; |
| 37 | }·DJIAttitude; | 38 | }·DJIAttitude; |
| 38 | | 39 | |
| 39 | //----------------------------------------------------------------- | 40 | /*********************************************************************************/ |
| 40 | #pragma·mark·DJIFlightControllerFlightMode | 41 | #pragma·mark·DJIFlightControllerFlightMode |
| 41 | //----------------------------------------------------------------- | 42 | /*********************************************************************************/ |
| | 43 | |
| 42 | /** | 44 | /** |
| 43 | ·*··Flight·controller·flight·modes.·For·more·information,·see·http://wiki.dji.com/en/index.php/Phantom_3_Professional-Aircraft. | 45 | ·*··Flight·controller·flight·modes.·For·more·information,·see·http://wiki.dji.com/en/index.php/Phantom_3_Professional-Aircraft. |
| 44 | ·* | 46 | ·* |
| ⋮ | ⋮ |
| 150 | ····DJIFlightControllerFlightModeUnknown·=·0xFF, | 152 | ····DJIFlightControllerFlightModeUnknown·=·0xFF, |
| 151 | }; | 153 | }; |
| 152 | | 154 | |
| 153 | //----------------------------------------------------------------- | 155 | /*********************************************************************************/ |
| 154 | #pragma·mark·DJIFlightControllerGoHomeExecutionStatus | 156 | #pragma·mark·DJIFlightControllerGoHomeExecutionStatus |
| 155 | //----------------------------------------------------------------- | 157 | /*********************************************************************************/ |
| | 158 | |
| 156 | /** | 159 | /** |
| 157 | ·*··A·class·used·to·identify·the·different·stages·of·the·go-home·command. | 160 | ·*··A·class·used·to·identify·the·different·stages·of·the·go-home·command. |
| 158 | ·*/ | 161 | ·*/ |
| ⋮ | ⋮ |
| 218 | ····DJIFlightOrientationModeDefaultAircraftHeading, | 221 | ····DJIFlightOrientationModeDefaultAircraftHeading, |
| 219 | }; | 222 | }; |
| 220 | | 223 | |
| 221 | //----------------------------------------------------------------- | 224 | /*********************************************************************************/ |
| 222 | #pragma·mark·DJIFlightControllerNoFlyStatus | 225 | #pragma·mark·DJIFlightControllerNoFlyStatus |
| 223 | //----------------------------------------------------------------- | 226 | /*********************************************************************************/ |
| | 227 | |
| 224 | /** | 228 | /** |
| 225 | ·*··No·fly·status.·See·http://wiki.dji.com/en/index.php/Phantom_3_Professional-_Flight_Limits_and_No-Fly_Zones·for·more·information·on·no·fly·zones. | 229 | ·*··No·fly·status.·See·http://wiki.dji.com/en/index.php/Phantom_3_Professional-_Flight_Limits_and_No-Fly_Zones·for·more·information·on·no·fly·zones. |
| 226 | ·*/ | 230 | ·*/ |
| ⋮ | ⋮ |
| 265 | ····DJIFlightControllerNoFlyStatusUnknownStatus, | 269 | ····DJIFlightControllerNoFlyStatusUnknownStatus, |
| 266 | }; | 270 | }; |
| 267 | | 271 | |
| 268 | //----------------------------------------------------------------- | 272 | /*********************************************************************************/ |
| 269 | #pragma·mark·DJIGPSSignalStatus | 273 | #pragma·mark·DJIGPSSignalStatus |
| 270 | //----------------------------------------------------------------- | 274 | /*********************************************************************************/ |
| | 275 | |
| 271 | /** | 276 | /** |
| 272 | ·*··GPS·signal·levels,·which·are·used·to·measure·the·signal·quality. | 277 | ·*··GPS·signal·levels,·which·are·used·to·measure·the·signal·quality. |
| 273 | ·*/ | 278 | ·*/ |
| ⋮ | ⋮ |
| 305 | ····DJIGPSSignalStatusNone, | 310 | ····DJIGPSSignalStatusNone, |
| 306 | }; | 311 | }; |
| 307 | | 312 | |
| 308 | //----------------------------------------------------------------- | 313 | /*********************************************************************************/ |
| 309 | #pragma·mark·DJIFlightControllerSmartGoHomeStatus | 314 | #pragma·mark·DJIFlightControllerSmartGoHomeStatus |
| 310 | //----------------------------------------------------------------- | 315 | /*********************************************************************************/ |
| | 316 | |
| 311 | /** | 317 | /** |
| 312 | ·*··The·Flight·Controller·Smart·Go·Home·Status | 318 | ·*··The·Flight·Controller·Smart·Go·Home·Status |
| 313 | ·*/ | 319 | ·*/ |
| ⋮ | ⋮ |
| 370 | ····BOOL·aircraftShouldGoHome; | 376 | ····BOOL·aircraftShouldGoHome; |
| 371 | }·DJIFlightControllerSmartGoHomeStatus; | 377 | }·DJIFlightControllerSmartGoHomeStatus; |
| 372 | | 378 | |
| 373 | //----------------------------------------------------------------- | 379 | /*********************************************************************************/ |
| 374 | #pragma·mark·DJIAircraftPowerLevel | 380 | #pragma·mark·DJIAircraftPowerLevel |
| 375 | //----------------------------------------------------------------- | 381 | /*********************************************************************************/ |
| | 382 | |
| 376 | /** | 383 | /** |
| 377 | ·*··Remaining·battery·life·state.·This·state·describes·the·recommended·action·based·on·remaining·battery·life. | 384 | ·*··Remaining·battery·life·state.·This·state·describes·the·recommended·action·based·on·remaining·battery·life. |
| 378 | ·*/ | 385 | ·*/ |
| ⋮ | ⋮ |
| 531 | /** | 538 | /** |
| 532 | ·*··Returns·the·flight·mode·as·a·string.·For·example,·"P-GPS"·or·"P-Atti". | 539 | ·*··Returns·the·flight·mode·as·a·string.·For·example,·"P-GPS"·or·"P-Atti". |
| 533 | ·*/ | 540 | ·*/ |
| 534 | @property(nonatomic,·readonly)·NSString·*flightModeString; | 541 | @property(nonatomic,·readonly)·NSString·*·_Nonnull·flightModeString; |
| 535 | | 542 | |
| 536 | @end | 543 | @end |
| 537 | | 544 | |
| diff --git a/Headers/DJIFlightLimitation.h b/Headers/DJIFlightLimitation.h
|
| index 638e483..0b32e7b 100644
|
| 3.1.1/Headers/DJIFlightLimitation.h | 3.2/Headers/DJIFlightLimitation.h |
| ⋮ | ⋮ |
| 38 | ·*··Gets·the·maximum·flight·height·limitation·from·the·aircraft. | 38 | ·*··Gets·the·maximum·flight·height·limitation·from·the·aircraft. |
| 39 | ·* | 39 | ·* |
| 40 | ·*/ | 40 | ·*/ |
| 41 | -·(void)getMaxFlightHeightWithCompletion:(void·(^)(float·height,·NSError·*_Nullable·error))completion; | 41 | -·(void)getMaxFlightHeightWithCompletion:(void·(^_Nonnull)(float·height,·NSError·*_Nullable·error))completion; |
| 42 | | 42 | |
| 43 | /** | 43 | /** |
| 44 | ·*··Sets·the·maximum·flight·radius·limitation·for·the·aircraft.·The·radius·is·calculated·from·the·home·point.·The·`maxRadius`·value·must·be·in·the·range·[15,·500]·m. | 44 | ·*··Sets·the·maximum·flight·radius·limitation·for·the·aircraft.·The·radius·is·calculated·from·the·home·point.·The·`maxRadius`·value·must·be·in·the·range·[15,·500]·m. |
| ⋮ | ⋮ |
| 52 | ·*··Gets·the·maximum·flight·radius·limitation·from·the·aircraft. | 52 | ·*··Gets·the·maximum·flight·radius·limitation·from·the·aircraft. |
| 53 | ·* | 53 | ·* |
| 54 | ·*/ | 54 | ·*/ |
| 55 | -·(void)getMaxFlightRadiusWithCompletion:(void·(^)(float·radius,·NSError·*_Nullable·error))completion; | 55 | -·(void)getMaxFlightRadiusWithCompletion:(void·(^_Nonnull)(float·radius,·NSError·*_Nullable·error))completion; |
| 56 | | 56 | |
| 57 | /** | 57 | /** |
| 58 | ·*··Sets·whether·the·maximum·flight·radius·limitation·is·enabled.·If·`enabled`·is·`NO`,·there·is·no·maximum·flight·radius·limitation. | 58 | ·*··Sets·whether·the·maximum·flight·radius·limitation·is·enabled.·If·`enabled`·is·`NO`,·there·is·no·maximum·flight·radius·limitation. |
| ⋮ | ⋮ |
| 66 | ·*··Determines·whether·the·maximum·flight·radius·limitation·is·enabled. | 66 | ·*··Determines·whether·the·maximum·flight·radius·limitation·is·enabled. |
| 67 | ·* | 67 | ·* |
| 68 | ·*/ | 68 | ·*/ |
| 69 | -·(void)getMaxFlightRadiusLimitationEnabledWithCompletion:(void·(^)(BOOL·enabled,·NSError·*_Nullable·error))completion; | 69 | -·(void)getMaxFlightRadiusLimitationEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))completion; |
| 70 | | 70 | |
| 71 | @end | 71 | @end |
| 72 | | 72 | |
| diff --git a/Headers/DJIFollowMeMission.h b/Headers/DJIFollowMeMission.h
|
| index 4f1f336..18657bc 100644
|
| 3.1.1/Headers/DJIFollowMeMission.h | 3.2/Headers/DJIFollowMeMission.h |
| ⋮ | ⋮ |
| 67 | /** | 67 | /** |
| 68 | ·*··The·class·represents·a·follow·me·mission.·In·a·follow·me·mission,·the·aircraft·is·programmed·to·track·and·maintain·a·constant·distant·relative·to·some·object,·such·as·a·person·or·a·moving·vehicle. | 68 | ·*··The·class·represents·a·follow·me·mission.·In·a·follow·me·mission,·the·aircraft·is·programmed·to·track·and·maintain·a·constant·distant·relative·to·some·object,·such·as·a·person·or·a·moving·vehicle. |
| 69 | ·*··You·can·use·it·to·make·the·aircraft·follow·a·GPS·device,·such·as·a·remote·controller·with·a·GPS·signal·or·a·mobile·device. | 69 | ·*··You·can·use·it·to·make·the·aircraft·follow·a·GPS·device,·such·as·a·remote·controller·with·a·GPS·signal·or·a·mobile·device. |
| 70 | ·* | 70 | ·*··It·is·not·supported·by·Matrice·600.· |
| 71 | ·*/ | 71 | ·*/ |
| 72 | @interface·DJIFollowMeMission·:·DJIMission | 72 | @interface·DJIFollowMeMission·:·DJIMission |
| 73 | | 73 | |
| diff --git a/Headers/DJIGimbal.h b/Headers/DJIGimbal.h
|
| index 44be9fb..ab96f26 100644
|
| 3.1.1/Headers/DJIGimbal.h | 3.2/Headers/DJIGimbal.h |
| ⋮ | ⋮ |
| 13 | NS_ASSUME_NONNULL_BEGIN | 13 | NS_ASSUME_NONNULL_BEGIN |
| 14 | | 14 | |
| 15 | /*********************************************************************************/ | 15 | /*********************************************************************************/ |
| | 16 | #pragma·mark·-·Gimbal·Capability·Keys |
| | 17 | /*********************************************************************************/ |
| | 18 | |
| | 19 | /** |
| | 20 | ·*··Gimbal·feature·keys·used·in·the·`gimbalCapability`·dictionary·that·holds·the·complete·capability·of·the·gimbal. |
| | 21 | ·*··A·negative·value·in·the·valid·range·represents·counter-clockwise·rotation. |
| | 22 | ·*··A·positive·value·in·the·valid·range·represents·clockwise·rotation. |
| | 23 | ·*/ |
| | 24 | extern·NSString·*const·DJIGimbalKeyAdjustPitch; |
| | 25 | /** |
| | 26 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal·supports·yaw·axis·adjustment. |
| | 27 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 28 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned.· |
| | 29 | ·*··A·negative·value·in·the·valid·range·represents·counter-clockwise·rotation. |
| | 30 | ·*··A·positive·value·in·the·valid·range·represents·clockwise·rotation. |
| | 31 | ·*··For·Gimbal's·that·allow·a·pitch·range·extension·(see·`DJIGimbalKeyPitchRangeExtension`,·the·range·will·be·representative |
| | 32 | ·*··of·the·extended·range·whether·it·is·enabled·or·not. |
| | 33 | ·*/ |
| | 34 | extern·NSString·*const·DJIGimbalKeyAdjustYaw; |
| | 35 | /** |
| | 36 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal·supports·roll·axis·adjustment. |
| | 37 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 38 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned. |
| | 39 | ·*··A·negative·value·in·the·valid·range·represents·counter-clockwise·rotation. |
| | 40 | ·*··A·positive·value·in·the·valid·range·represents·clockwise·rotation. |
| | 41 | ·*/ |
| | 42 | extern·NSString·*const·DJIGimbalKeyAdjustRoll; |
| | 43 | /** |
| | 44 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal·supports·Advanced·Settings·Profiles.· |
| | 45 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapability`. |
| | 46 | ·*/ |
| | 47 | extern·NSString·*const·DJIGimbalKeyAdvancedSettingsProfile; |
| | 48 | /** |
| | 49 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal·supports·a·range·extension·in·pitch. |
| | 50 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 51 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned. |
| | 52 | ·*/ |
| | 53 | extern·NSString·*const·DJIGimbalKeyPitchRangeExtension; |
| | 54 | /** |
| | 55 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·response·speed·to·manual·control·can·be·adjusted. |
| | 56 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's· |
| | 57 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 58 | ·*/ |
| | 59 | extern·NSString·*const·DJIGimbalKeyControllerSpeedPitch; |
| | 60 | /** |
| | 61 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·response·speed·to·manual·control·can·be·adjusted. |
| | 62 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 63 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 64 | ·*/ |
| | 65 | extern·NSString·*const·DJIGimbalKeyControllerSpeedYaw; |
| | 66 | /** |
| | 67 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·smoothing·can·be·adjusted·when·using·manual·control. |
| | 68 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 69 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 70 | ·*/ |
| | 71 | extern·NSString·*const·DJIGimbalKeyControllerSmoothingPitch; |
| | 72 | /** |
| | 73 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·smoothing·can·be·adjusted·when·using·manual·control. |
| | 74 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 75 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 76 | ·*/ |
| | 77 | extern·NSString·*const·DJIGimbalKeyControllerSmoothingYaw; |
| | 78 | /** |
| | 79 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·manual·control·pitch·axis·deadband·can·be·adjusted. |
| | 80 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 81 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 82 | ·*/ |
| | 83 | extern·NSString·*const·DJIGimbalKeyControllerDeadbandPitch; |
| | 84 | /** |
| | 85 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·manual·control·yaw·axis·deadband·can·be·adjusted. |
| | 86 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 87 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 88 | ·*/ |
| | 89 | extern·NSString·*const·DJIGimbalKeyControllerDeadbandYaw; |
| | 90 | /** |
| | 91 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·SmoothTrack·can·be·toggled. |
| | 92 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapability`. |
| | 93 | ·*··Ronin-MX·cannot·toggle·the·SmoothTrack·functionality·and·it·is·always·enabled. |
| | 94 | ·*/ |
| | 95 | extern·NSString·*const·DJIGimbalKeySmoothTrackEnabledPitch; |
| | 96 | /** |
| | 97 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·SmoothTrack·can·be·toggled. |
| | 98 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapability`. |
| | 99 | ·*··Ronin-MX·cannot·toggle·the·SmoothTrack·functionality·and·it·is·always·enabled. |
| | 100 | ·*/ |
| | 101 | extern·NSString·*const·DJIGimbalKeySmoothTrackEnabledYaw; |
| | 102 | /** |
| | 103 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·SmoothTrack·accelaration·can·be·adjusted. |
| | 104 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 105 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 106 | ·*/ |
| | 107 | extern·NSString·*const·DJIGimbalKeySmoothTrackAccelerationPitch; |
| | 108 | /** |
| | 109 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·SmoothTrack·accelaration·can·be·adjusted. |
| | 110 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 111 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 112 | ·*/ |
| | 113 | extern·NSString·*const·DJIGimbalKeySmoothTrackAccelerationYaw; |
| | 114 | /** |
| | 115 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·SmoothTrack·speed·can·be·adjusted. |
| | 116 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 117 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 118 | ·*/ |
| | 119 | extern·NSString·*const·DJIGimbalKeySmoothTrackSpeedPitch; |
| | 120 | /** |
| | 121 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·SmoothTrack·speed·can·be·adjusted. |
| | 122 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 123 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 124 | ·*/ |
| | 125 | extern·NSString·*const·DJIGimbalKeySmoothTrackSpeedYaw; |
| | 126 | /** |
| | 127 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·SmoothTrack·deadband·can·be·adjusted. |
| | 128 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 129 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned. |
| | 130 | ·*/ |
| | 131 | extern·NSString·*const·DJIGimbalKeySmoothTrackDeadbandPitch; |
| | 132 | /** |
| | 133 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·SmoothTrack·deadband·can·be·adjusted. |
| | 134 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 135 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned. |
| | 136 | ·*/ |
| | 137 | extern·NSString·*const·DJIGimbalKeySmoothTrackDeadbandYaw; |
| | 138 | /** |
| | 139 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·up·endpoint·can·be·adjusted. |
| | 140 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 141 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned. |
| | 142 | ·*/ |
| | 143 | extern·NSString·*const·DJIGimbalKeyEndpointPitchUp; |
| | 144 | /** |
| | 145 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·down·endpoint·can·be·adjusted. |
| | 146 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 147 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned. |
| | 148 | ·*/ |
| | 149 | extern·NSString·*const·DJIGimbalKeyEndpointPitchDown; |
| | 150 | /** |
| | 151 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·left·endpoint·can·be·adjusted. |
| | 152 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 153 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned. |
| | 154 | ·*/ |
| | 155 | extern·NSString·*const·DJIGimbalKeyEndpointYawLeft; |
| | 156 | /** |
| | 157 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·right·endpoint·can·be·adjusted. |
| | 158 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 159 | ·*··existance·as·well·as·its·possible·range·in·degrees·is·returned. |
| | 160 | ·*/ |
| | 161 | extern·NSString·*const·DJIGimbalKeyEndpointYawRight; |
| | 162 | /** |
| | 163 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·motor·control·stiffness·can·be·adjusted. |
| | 164 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 165 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 166 | ·*/ |
| | 167 | extern·NSString·*const·DJIGimbalKeyMotorControlStiffnessPitch; |
| | 168 | /** |
| | 169 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·motor·control·stiffness·can·be·adjusted. |
| | 170 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 171 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 172 | ·*/ |
| | 173 | extern·NSString·*const·DJIGimbalKeyMotorControlStiffnessYaw; |
| | 174 | /** |
| | 175 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·roll·axis·motor·control·stiffness·can·be·adjusted. |
| | 176 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 177 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 178 | ·*/ |
| | 179 | extern·NSString·*const·DJIGimbalKeyMotorControlStiffnessRoll; |
| | 180 | /** |
| | 181 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·motor·control·strength·can·be·adjusted. |
| | 182 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 183 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 184 | ·*/ |
| | 185 | extern·NSString·*const·DJIGimbalKeyMotorControlStrengthPitch; |
| | 186 | /** |
| | 187 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·motor·control·strength·can·be·adjusted. |
| | 188 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 189 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 190 | ·*/ |
| | 191 | extern·NSString·*const·DJIGimbalKeyMotorControlStrengthYaw; |
| | 192 | /** |
| | 193 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·roll·axis·motor·control·strength·can·be·adjusted. |
| | 194 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 195 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 196 | ·*/ |
| | 197 | extern·NSString·*const·DJIGimbalKeyMotorControlStrengthRoll; |
| | 198 | /** |
| | 199 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·motor·control·gyro·filtering·can·be·adjusted. |
| | 200 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 201 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 202 | ·*/ |
| | 203 | extern·NSString·*const·DJIGimbalKeyMotorControlGyroFilteringPitch; |
| | 204 | /** |
| | 205 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·motor·control·gyro·filtering·can·be·adjusted. |
| | 206 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 207 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 208 | ·*/ |
| | 209 | extern·NSString·*const·DJIGimbalKeyMotorControlGyroFilteringYaw; |
| | 210 | /** |
| | 211 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·roll·axis·motor·control·gyro·filtering·can·be·adjusted. |
| | 212 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 213 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 214 | ·*/ |
| | 215 | extern·NSString·*const·DJIGimbalKeyMotorControlGyroFilteringRoll; |
| | 216 | /** |
| | 217 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·pitch·axis·motor·control·"precontrol"·can·be·adjusted. |
| | 218 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 219 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 220 | ·*/ |
| | 221 | extern·NSString·*const·DJIGimbalKeyMotorControlPrecontrolPitch; |
| | 222 | /** |
| | 223 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·yaw·axis·motor·control·"precontrol"·can·be·adjusted. |
| | 224 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 225 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 226 | ·*/ |
| | 227 | extern·NSString·*const·DJIGimbalKeyMotorControlPrecontrolYaw; |
| | 228 | /** |
| | 229 | ·*··Key·string·in·`gimbalCapability`·associated·with·whether·the·gimbal's·roll·axis·motor·control·"precontrol"·can·be·adjusted. |
| | 230 | ·*··The·corresponding·value·in·`gimbalCapability`·is·an·instance·of·`DJIParamCapabilityMinMax`·meaning·both·the·feature's |
| | 231 | ·*··existance·as·well·as·its·possible·range·(unitless)·is·returned. |
| | 232 | ·*/ |
| | 233 | extern·NSString·*const·DJIGimbalKeyMotorControlPrecontrolRoll; |
| | 234 | |
| | 235 | /*********************************************************************************/ |
| 16 | #pragma·mark·-·Data·Structs·and·Enums | 236 | #pragma·mark·-·Data·Structs·and·Enums |
| 17 | /*********************************************************************************/ | 237 | /*********************************************************************************/ |
| 18 | | 238 | |
| 19 | //----------------------------------------------------------------- | 239 | /*********************************************************************************/ |
| 20 | #pragma·mark·DJIGimbalAttitude | 240 | #pragma·mark·DJIGimbalAttitude |
| 21 | //----------------------------------------------------------------- | 241 | /*********************************************************************************/ |
| | 242 | |
| 22 | /** | 243 | /** |
| 23 | ·*··The·gimbal's·attitude,·in·degrees,·relative·to·the·aircraft. | 244 | ·*··The·gimbal's·attitude·relative·to·the·aircraft. |
| 24 | ·*/ | 245 | ·*/ |
| 25 | typedef·struct | 246 | typedef·struct |
| 26 | { | 247 | { |
| 27 | ····/** | 248 | ····/** |
| 28 | ·····*··Pitch·value. | 249 | ·····*··Pitch·value·in·degrees. |
| 29 | ·····*/ | 250 | ·····*/ |
| 30 | ····float·pitch; | 251 | ····float·pitch; |
| 31 | ····/** | 252 | ····/** |
| 32 | ·····*··Roll·value. | 253 | ·····*··Roll·value·in·degrees. |
| 33 | ·····*/ | 254 | ·····*/ |
| 34 | ····float·roll; | 255 | ····float·roll; |
| 35 | ····/** | 256 | ····/** |
| 36 | ·····*··Yaw·value. | 257 | ·····*··Yaw·value·in·degrees. |
| 37 | ·····*/ | 258 | ·····*/ |
| 38 | ····float·yaw; | 259 | ····float·yaw; |
| 39 | }·DJIGimbalAttitude; | 260 | }·DJIGimbalAttitude; |
| 40 | | 261 | |
| 41 | //----------------------------------------------------------------- | 262 | /*********************************************************************************/ |
| 42 | #pragma·mark·DJIGimbalRotateDirection | 263 | #pragma·mark·DJIGimbalRotateDirection |
| 43 | //----------------------------------------------------------------- | 264 | /*********************************************************************************/ |
| | 265 | |
| 44 | /** | 266 | /** |
| 45 | ·*··Gimbal·rotation·direction. | 267 | ·*··Gimbal·rotation·direction·when·controlling·gimbal·movement·by·speed. |
| 46 | ·*/ | 268 | ·*/ |
| 47 | typedef·NS_ENUM·(uint8_t,·DJIGimbalRotateDirection){ | 269 | typedef·NS_ENUM·(uint8_t,·DJIGimbalRotateDirection){ |
| 48 | ····/** | 270 | ····/** |
| ⋮ | ⋮ |
| 55 | ····DJIGimbalRotateDirectionCounterClockwise, | 277 | ····DJIGimbalRotateDirectionCounterClockwise, |
| 56 | }; | 278 | }; |
| 57 | | 279 | |
| 58 | //----------------------------------------------------------------- | 280 | /*********************************************************************************/ |
| 59 | #pragma·mark·DJIGimbalRotateAngleMode | 281 | #pragma·mark·DJIGimbalRotateAngleMode |
| 60 | //----------------------------------------------------------------- | 282 | /*********************************************************************************/ |
| | 283 | |
| 61 | /** | 284 | /** |
| 62 | ·*··The·rotation·angle·of·the·gimbal·can·be·defined·as·either·Absolute·(relative·to·the·heading),·or·Relative·(relative·to·its·current·angle). | 285 | ·*··The·rotation·angle·of·the·gimbal·can·be·defined·as·either·Absolute·(relative·to·the·heading),·or·Relative·(relative·to·its·current·angle). |
| 63 | ·*/ | 286 | ·*/ |
| ⋮ | ⋮ |
| 72 | ····DJIGimbalAngleModeAbsoluteAngle, | 295 | ····DJIGimbalAngleModeAbsoluteAngle, |
| 73 | }; | 296 | }; |
| 74 | | 297 | |
| 75 | //----------------------------------------------------------------- | 298 | /*********************************************************************************/ |
| 76 | #pragma·mark·DJIGimbalAngleRotation | 299 | #pragma·mark·DJIGimbalAngleRotation |
| 77 | //----------------------------------------------------------------- | 300 | /*********************************************************************************/ |
| | 301 | |
| 78 | /** | 302 | /** |
| 79 | ·*··Struct·used·to·control·the·gimbal·by·angle·(either·absolutely·or·relatively). | 303 | ·*··Struct·used·to·control·the·gimbal·by·angle·(either·absolutely·or·relatively). |
| 80 | ·*/ | 304 | ·*/ |
| ⋮ | ⋮ |
| 86 | ·····*/ | 310 | ·····*/ |
| 87 | ····BOOL·enabled; | 311 | ····BOOL·enabled; |
| 88 | ····/** | 312 | ····/** |
| 89 | ·····*··Gimbal·rotation·angle·in·degrees. | 313 | ·····*··Gimbal·rotation·angle·in·degrees.· |
| 90 | ·····*/ | 314 | ·····*/ |
| 91 | ····float·angle; | 315 | ····float·angle; |
| 92 | ····/** | 316 | ····/** |
| ⋮ | ⋮ |
| 95 | ····DJIGimbalRotateDirection·direction; | 319 | ····DJIGimbalRotateDirection·direction; |
| 96 | }·DJIGimbalAngleRotation; | 320 | }·DJIGimbalAngleRotation; |
| 97 | | 321 | |
| 98 | //----------------------------------------------------------------- | 322 | /*********************************************************************************/ |
| 99 | #pragma·mark·DJIGimbalSpeedRotation | 323 | #pragma·mark·DJIGimbalSpeedRotation |
| 100 | //----------------------------------------------------------------- | 324 | /*********************************************************************************/ |
| | 325 | |
| 101 | /** | 326 | /** |
| 102 | ·*··Struct·used·to·control·the·gimbal·by·speed. | 327 | ·*··Struct·used·to·control·the·gimbal·by·speed. |
| 103 | ·*/ | 328 | ·*/ |
| 104 | typedef·struct | 329 | typedef·struct |
| 105 | { | 330 | { |
| 106 | ····/** | 331 | ····/** |
| 107 | ·····*··Gimbal·rotation·angular·velocity·in·degrees/second. | 332 | ·····*··Gimbal·rotation·angular·velocity·in·degrees/second·with·range·[0,·120]. |
| 108 | ·····*/ | 333 | ·····*/ |
| 109 | ····float·angleVelocity; | 334 | ····float·angleVelocity; |
| 110 | ····/** | 335 | ····/** |
| ⋮ | ⋮ |
| 113 | ····DJIGimbalRotateDirection·direction; | 338 | ····DJIGimbalRotateDirection·direction; |
| 114 | }·DJIGimbalSpeedRotation; | 339 | }·DJIGimbalSpeedRotation; |
| 115 | | 340 | |
| 116 | //----------------------------------------------------------------- | 341 | /*********************************************************************************/ |
| 117 | #pragma·mark·DJIGimbalWorkMode | 342 | #pragma·mark·DJIGimbalWorkMode |
| 118 | //----------------------------------------------------------------- | 343 | /*********************************************************************************/ |
| | 344 | |
| 119 | /** | 345 | /** |
| 120 | ·*··Gimbal·work·modes. | 346 | ·*··Gimbal·work·modes. |
| 121 | ·*/ | 347 | ·*/ |
| 122 | typedef·NS_ENUM·(uint8_t,·DJIGimbalWorkMode){ | 348 | typedef·NS_ENUM·(uint8_t,·DJIGimbalWorkMode){ |
| 123 | ····/** | 349 | ····/** |
| 124 | ·····*··The·gimbal·can·move·independently·of·the·aircraft's·yaw.·This·feature·is·only·supported·by·the·X3,·X5·and·X5R·camera·gimbals.·In·this·mode,·even·if·the·aircraft·yaw·changes,·the·camera·will·continue·pointing·in·the·same·world·direction. | 350 | ·····*··The·gimbal·can·move·independently·of·the·aircraft's·yaw.·In·this·mode,·even·if·the·aircraft·yaw·changes,·the·camera·will·continue·pointing·in·the·same·world·direction.·This·feature·is·supported·by·the·X3,·X5·and·X5R·camera·gimbals·and·the·Ronin-MX.·This·mode·is·only·available·for·the·Ronin-MX·when·the·M600·landing·gear·is·retracted. |
| 125 | ·····*/ | 351 | ·····*/ |
| 126 | ····DJIGimbalWorkModeFreeMode, | 352 | ····DJIGimbalWorkModeFreeMode, |
| 127 | ····/** | 353 | ····/** |
| 128 | ·····*··The·gimbal's·work·mode·is·FPV·mode.·In·this·mode,·the·gimbal·yaw·will·follow·the·aircraft's·heading,·and·the·gimbal·roll·will·follow·the·RC's·roll·channel·value.·The·pitch·will·be·available·to·move. | 354 | ·····*··The·gimbal's·work·mode·is·FPV·mode.·In·this·mode,·the·gimbal·yaw·will·follow·the·aircraft's·heading,·and·the·gimbal·roll·will·follow·the·RC's·roll·channel·value.·The·pitch·will·be·available·to·move.·This·mode·is·only·available·for·the·Ronin-MX·when·the·M600·landing·gear·is·retracted. |
| 129 | ·····*··Not·supported·by·Osmo. | 355 | ·····*··Not·supported·by·Osmo. |
| 130 | ·····* | |
| 131 | ·····*/ | 356 | ·····*/ |
| 132 | ····DJIGimbalWorkModeFpvMode, | 357 | ····DJIGimbalWorkModeFpvMode, |
| 133 | ····/** | 358 | ····/** |
| ⋮ | ⋮ |
| 141 | ····DJIGimbalWorkModeUnknown·=·0xFF, | 366 | ····DJIGimbalWorkModeUnknown·=·0xFF, |
| 142 | }; | 367 | }; |
| 143 | | 368 | |
| 144 | //----------------------------------------------------------------- | 369 | /*********************************************************************************/ |
| 145 | #pragma·mark·DJIGimbalUserConfigType | 370 | #pragma·mark·DJIGimbalAdvancedSettingsProfile |
| 146 | //----------------------------------------------------------------- | 371 | /*********************************************************************************/ |
| | 372 | |
| 147 | /** | 373 | /** |
| 148 | ·*··Gimbal·User·Configuration.·This·is·only·supported·by·the·Osmo·gimbal. | 374 | ·*··The·Advanced·Settings·Profile·contains·presets·for·SmoothTrack·and·the·Physical·Controller·sensitivity.·SmoothTrack·and·Controller·settings·can |
| 149 | ·* | 375 | ·*··only·be·manually·changed·if·Custom1·or·Custom2·profiles·are·selected. |
| 150 | ·*··The·gimbal·has·a·feature·called·<i>SmoothTrack</i>. | 376 | ·*··Only·supported·by·Osmo. |
| 151 | ·*··SmoothTrack·smooths·out·larger·transitions·in·pitch·and·yaw·(as·opposed·to·keeping·the·camera·pointed·in·the·same·direction·at·all·times). | |
| 152 | ·*··SmoothTrack·is·used·on·two·axes·(yaw·and·pitch)·and·has·three·presets·of·fast,·medium·or·slow·which·impact·the·tracking·speed,·deadband,·and·acceleration·settings.·These·settings·can·also·be·customized. | |
| 153 | ·*/ | 377 | ·*/ |
| 154 | typedef·NS_ENUM·(uint8_t,·DJIGimbalUserConfigType){ | 378 | typedef·NS_ENUM·(uint8_t,·DJIGimbalAdvancedSettingsProfile){ |
| 155 | ····/** | 379 | ····/** |
| 156 | ·····*··The·gimbal's·SmoothTrack·will·catch·up·with·significant·yaw·and·pitch·changes·with·a·fast·speed. | 380 | ·····*··The·gimbal's·SmoothTrack·and·Controller·sensitivity·is·high. |
| | 381 | ·····*··When·the·gimbal·is·using·this·profile,·user·cannot·change·the·Advanced·Settings·manually. |
| 157 | ·····*/ | 382 | ·····*/ |
| 158 | ····DJIGimbalUserConfigTypeFastSmoothTrack·=·3, | 383 | ····DJIGimbalAdvancedSettingsProfileFast, |
| 159 | ····/** | 384 | ····/** |
| 160 | ·····*··The·gimbal's·SmoothTrack·will·catch·up·with·significant·yaw·and·pitch·changes·with·a·medium·speed. | 385 | ·····*··The·gimbal's·SmoothTrack·and·Controller·sensitivity·is·medium. |
| | 386 | ·····*··When·the·gimbal·is·using·this·profile,·user·cannot·change·the·Advanced·Settings·manually. |
| 161 | ·····*/ | 387 | ·····*/ |
| 162 | ····DJIGimbalUserConfigTypeMediumSmoothTrack·=·4, | 388 | ····DJIGimbalAdvancedSettingsProfileMedium, |
| 163 | ····/** | 389 | ····/** |
| 164 | ·····*··The·gimbal's·SmoothTrack·will·catch·up·with·significant·yaw·and·pitch·changes·with·a·slow·speed. | 390 | ·····*··The·gimbal's·SmoothTrack·and·Controller·sensitivity·is·low. |
| | 391 | ·····*··When·the·gimbal·is·using·this·profile,·user·cannot·change·the·Advanced·Settings·manually. |
| 165 | ·····*/ | 392 | ·····*/ |
| 166 | ····DJIGimbalUserConfigTypeSlowSmoothTrack·=·5, | 393 | ····DJIGimbalAdvancedSettingsProfileSlow, |
| 167 | ····/** | 394 | ····/** |
| 168 | ·····*··The·gimbal·uses·a·custom·configuration·in·memory·slot·1·where·the·yaw·and·pitch·speed,·deadband,·and·acceleration·can·be·defined. | 395 | ·····*··The·gimbal·uses·a·custom·configuration·in·memory·slot·1·where·the·yaw·and·pitch·speed,·deadband,·and·acceleration·can·be·defined. |
| 169 | ·····*/ | 396 | ·····*/ |
| 170 | ····DJIGimbalUserConfigTypeCustom1·=·0, | 397 | ····DJIGimbalAdvancedSettingsProfileCustom1, |
| 171 | ····/** | 398 | ····/** |
| 172 | ·····*··The·gimbal·uses·a·custom·configuration·in·memory·slot·2·where·the·yaw·and·pitch·speed,·deadband,·and·acceleration·can·be·defined. | 399 | ·····*··The·gimbal·uses·a·custom·configuration·in·memory·slot·2·where·the·yaw·and·pitch·speed,·deadband,·and·acceleration·can·be·defined. |
| 173 | ·····*/ | 400 | ·····*/ |
| 174 | ····DJIGimbalUserConfigTypeCustom2·=·1, | 401 | ····DJIGimbalAdvancedSettingsProfileCustom2, |
| 175 | ····/** | 402 | ····/** |
| 176 | ·····*··The·gimbal's·user·config·type·is·unknown. | 403 | ·····*··The·gimbal's·user·config·type·is·unknown. |
| 177 | ·····*/ | 404 | ·····*/ |
| 178 | ····DJIGimbalUserConfigTypeUnknown·=·0xFF, | 405 | ····DJIGimbalAdvancedSettingsProfileUnknown·=·0xFF, |
| 179 | ···· | 406 | ···· |
| 180 | }; | 407 | }; |
| 181 | | 408 | |
| 182 | //----------------------------------------------------------------- | 409 | /*********************************************************************************/ |
| 183 | #pragma·mark·DJIGimbalSmoothTrackSettings | 410 | #pragma·mark·DJIGimbalAxis |
| 184 | //----------------------------------------------------------------- | 411 | /*********************************************************************************/ |
| | 412 | |
| 185 | /** | 413 | /** |
| 186 | ·*··Gimbal's·SmoothTrack·axis.·This·is·only·supported·by·the·Osmo·gimbal·when·using·a·Custom·configuration·in·`DJIGimbalUserConfigType`. | 414 | ·*··Gimbal·axis. |
| 187 | ·*/ | 415 | ·*/ |
| 188 | typedef·NS_ENUM·(uint8_t,·DJIGimbalSmoothTrackAxis){ | 416 | typedef·NS_ENUM·(uint8_t,·DJIGimbalAxis){ |
| 189 | ····/** | 417 | ····/** |
| 190 | ·····*··The·gimbal's·SmoothTrack·axis·is·yaw·(also·called·<i>pan</i>·for·users). | 418 | ·····*··Gimbal's·yaw·axis. |
| 191 | ·····*/ | 419 | ·····*/ |
| 192 | ····DJIGimbalSmoothTrackAxisYaw, | 420 | ····DJIGimbalAxisYaw, |
| 193 | ····/** | 421 | ····/** |
| 194 | ·····*··The·gimbal's·SmoothTrack·axis·is·pitch·(also·called·<i>tilt</i>·for·users). | 422 | ·····*··Gimbal's·pitch·axis. |
| 195 | ·····*/ | 423 | ·····*/ |
| 196 | ····DJIGimbalSmoothTrackAxisPitch, | 424 | ····DJIGimbalAxisPitch, |
| 197 | ···· | 425 | ····/** |
| | 426 | ·····*··Gimbal's·roll·axis. |
| | 427 | ·····*/ |
| | 428 | ····DJIGimbalAxisRoll |
| 198 | }; | 429 | }; |
| 199 | | 430 | |
| 200 | //----------------------------------------------------------------- | 431 | /*********************************************************************************/ |
| 201 | #pragma·mark·DJIGimbalJoystick | 432 | #pragma·mark·DJIGimbalEndpointDirection |
| 202 | //----------------------------------------------------------------- | 433 | /*********************************************************************************/ |
| | 434 | |
| 203 | /** | 435 | /** |
| 204 | ·*··Gimbal·joystick·axis.·This·is·only·supported·by·the·Osmo·gimbal·when·using·a·Custom·configuration·in·`DJIGimbalUserConfigType`. | 436 | ·*··Gimbal·endpoint·setting. |
| | 437 | ·*··This·is·only·supported·by·the·Ronin-MX·gimbal. |
| 205 | ·*/ | 438 | ·*/ |
| 206 | typedef·NS_ENUM·(uint8_t,·DJIGimbalJoystickAxis){ | 439 | typedef·NS_ENUM·(uint8_t,·DJIGimbalEndpointDirection){ |
| 207 | ····/** | 440 | ····/** |
| 208 | ·····*··The·axis·of·gimbal's·joystick·direction·is·yaw. | 441 | ·····*··Pitch·(also·called·tilt)·endpoint·setting·in·the·upwards·direction. |
| 209 | ·····*/ | 442 | ·····*/ |
| 210 | ····DJIGimbalJoystickAxisYaw, | 443 | ····DJIGimbalEndpointDirectionPitchUp, |
| 211 | ····/** | 444 | ····/** |
| 212 | ·····*··The·axis·of·gimbal's·joystick·direction·is·pitch. | 445 | ·····*··Pitch·(also·called·tilt)·endpoint·setting·in·the·downwards·direction. |
| 213 | ·····*/ | 446 | ·····*/ |
| 214 | ····DJIGimbalJoystickAxisPitch, | 447 | ····DJIGimbalEndpointDirectionPitchDown, |
| 215 | ···· | 448 | ····/** |
| | 449 | ·····*··Yaw·(also·called·pan)·endpoint·setting·in·the·left·direction. |
| | 450 | ·····*/ |
| | 451 | ····DJIGimbalEndpointDirectionYawLeft, |
| | 452 | ····/** |
| | 453 | ·····*··Yaw·(also·called·pan)·endpoint·setting·in·the·right·direction. |
| | 454 | ·····*/ |
| | 455 | ····DJIGimbalEndpointDirectionYawRight, |
| 216 | }; | 456 | }; |
| 217 | | 457 | |
| 218 | /*********************************************************************************/ | 458 | /*********************************************************************************/ |
| 219 | #pragma·mark·-·DJIGimbalConstraints | 459 | #pragma·mark·DJIGimbalMotorControlPreset |
| 220 | /*********************************************************************************/ | 460 | /*********************************************************************************/ |
| 221 | | 461 | |
| 222 | /** | 462 | /** |
| 223 | ·* | 463 | ·*··For·gimbals·that·allow·payloads·to·be·changed,·the·motor·control·configuration·can·be·used·to·optimize·gimbal·performance·for·the·different·payloads. |
| 224 | ·*··This·class·provides·the·constraints·of·the·gimbal.·These·values | 464 | ·*··Only·supported·by·the·Ronin-MX·gimbal. |
| 225 | ·*··are·determined·and·change·based·on·the·aircraft·and·the·type·of | |
| 226 | ·*··gimbal·on·the·aircraft. | |
| 227 | ·* | |
| 228 | ·*/ | |
| 229 | @interface·DJIGimbalConstraints·:·NSObject | |
| 230 | | |
| 231 | /** | |
| 232 | ·*··YES·if·pitch·can·be·controlled. | |
| 233 | ·*/ | |
| 234 | @property(nonatomic,·readonly)·BOOL·isPitchAdjustable; | |
| 235 | | |
| 236 | /** | |
| 237 | ·*··YES·if·roll·can·be·controlled. | |
| 238 | ·*/ | |
| 239 | @property(nonatomic,·readonly)·BOOL·isRollAdjustable; | |
| 240 | | |
| 241 | /** | |
| 242 | ·*··YES·if·yaw·can·be·controlled. | |
| 243 | ·*/ | |
| 244 | @property(nonatomic,·readonly)·BOOL·isYawAdjustable; | |
| 245 | | |
| 246 | /** | |
| 247 | ·*··Returns·the·maximum·angle·to·which·the·pitch·can·be·set. | |
| 248 | ·*/ | |
| 249 | @property(nonatomic,·readonly)·float·pitchStopMax; | |
| 250 | | |
| 251 | /** | |
| 252 | ·*··Returns·the·minimum·angle·to·which·the·pitch·can·be·set. | |
| 253 | ·*/ | |
| 254 | @property(nonatomic,·readonly)·float·pitchStopMin; | |
| 255 | | |
| 256 | /** | |
| 257 | ·*··Returns·the·maximum·angle·to·which·the·roll·can·be·set. | |
| 258 | ·*/ | 465 | ·*/ |
| 259 | @property(nonatomic,·readonly)·float·rollStopMax; | 466 | typedef·NS_ENUM·(uint8_t,·DJIGimbalMotorControlPreset){ |
| | 467 | ····/** |
| | 468 | ·····*··The·gimbal's·motor·control·configuration·is·optimized·for·RED·cameras. |
| | 469 | ·····*/ |
| | 470 | ····DJIGimbalMotorControlPresetRED, |
| | 471 | ····/** |
| | 472 | ·····*··The·gimbal's·motor·control·configuration·is·optimized·for·most·DSLR·cameras. |
| | 473 | ·····*/ |
| | 474 | ····DJIGimbalMotorControlPresetDSLRCamera |
| | 475 | }; |
| 260 | | 476 | |
| 261 | /** | 477 | /*********************************************************************************/ |
| 262 | ·*··Returns·the·minimum·angle·to·which·the·roll·can·be·set. | 478 | #pragma·mark·DJIGimbalBalanceTestResult |
| 263 | ·*/ | 479 | /*********************************************************************************/ |
| 264 | @property(nonatomic,·readonly)·float·rollStopMin; | |
| 265 | | 480 | |
| 266 | /** | 481 | /** |
| 267 | ·*··Returns·the·maximum·angle·to·which·the·yaw·can·be·set. | 482 | ·*··For·gimbals·that·allow·payloads·to·be·changed,·a·balance·test·should·be·performed·to·ensure·the·camera·is·mounted·correctly. |
| | 483 | ·*··Only·supported·by·Ronin-MX. |
| 268 | ·*/ | 484 | ·*/ |
| 269 | @property(nonatomic,·readonly)·float·yawStopMax; | 485 | typedef·NS_ENUM·(uint8_t,·DJIGimbalBalanceTestResult){ |
| | 486 | ····/** |
| | 487 | ·····*··The·balance·test·result·is·great. |
| | 488 | ·····*/ |
| | 489 | ····DJIGimbalBalanceTestResultGreat, |
| | 490 | ····/** |
| | 491 | ·····*··The·balance·test·result·is·good.·When·this·result·is·returned,·it·is·possible·there·was·some·noise·in·the·balance·measurement.· |
| | 492 | ·····*··For·best·results,·it·is·recommended·to·run·the·balance·test·again·and·adjust·the·payload·position·until·the·result·becomes·great. |
| | 493 | ·····*/ |
| | 494 | ····DJIGimbalBalanceTestResultGood, |
| | 495 | ····/** |
| | 496 | ·····*··The·balance·test·result·is·bad.·The·payload·should·be·adjusted·when·this·result·is·returned. |
| | 497 | ·····*/ |
| | 498 | ····DJIGimbalBalanceTestResultBad, |
| | 499 | ····/** |
| | 500 | ·····*··The·balance·test·result·is·unknown. |
| | 501 | ·····*/ |
| | 502 | ····DJIGimbalBalanceTestResultUnknown·=·0xFF |
| | 503 | }; |
| 270 | | 504 | |
| 271 | /** | 505 | /** |
| 272 | ·*··Returns·the·minimum·angle·to·which·the·yaw·can·be·set. | 506 | ·*··The·control·mode·for·the·gimbal·physical·controller·(joystick·for·Osmo).·The·total·controller·deflection·is·a·combination·of·horizontal·and·vertical·deflection.·This·translates·to·gimbal·movement·around·the·yaw·and·pitch·axes. |
| | 507 | ·*··The·gimbal·can·be·set·to·either·move·in·both·yaw·and·pitch·simultaneously·based·on·horizontal·and·vertical·deflection·of·the·controller,·or· |
| | 508 | ·*··move·in·only·yaw·or·pitch·exclusively·based·on·whether·horizontal·or·vertical·deflection·is·larger. |
| | 509 | ·*··Only·supported·by·Osmo. |
| 273 | ·*/ | 510 | ·*/ |
| 274 | @property(nonatomic,·readonly)·float·yawStopMin; | 511 | typedef·NS_ENUM·(uint8_t,·DJIGimbalControllerMode){ |
| 275 | | 512 | ····/** |
| 276 | @end | 513 | ·····*·Gimbal·movement·will·be·exclusively·in·yaw·or·pitch·depending·on·whether·the·controller·horizontal·or·vertical·deflection·is·greater·respectively. |
| | 514 | ·····*/ |
| | 515 | ····DJIGimbalControllerModeHorizontalVertical, |
| | 516 | ····/** |
| | 517 | ·····*·Gimbal·movement·will·be·in·both·yaw·and·pitch·simultaneously·relative·to·the·horizontal·and·vertical·deflection·of·the·controller·respectively. |
| | 518 | ·····*/ |
| | 519 | ····DJIGimbalControllerModeFree, |
| | 520 | ····/** |
| | 521 | ·····*·The·gimbal·controller·control·mode·is·unknown. |
| | 522 | ·····*/ |
| | 523 | ····DJIGimbalControllerModeUnknown·=·0xFF, |
| | 524 | }; |
| 277 | | 525 | |
| 278 | /*********************************************************************************/ | 526 | /*********************************************************************************/ |
| 279 | #pragma·mark·-·DJIGimbalState | 527 | #pragma·mark·-·DJIGimbalState |
| ⋮ | ⋮ |
| 308 | @property(nonatomic,·readonly)·BOOL·isAttitudeReset; | 556 | @property(nonatomic,·readonly)·BOOL·isAttitudeReset; |
| 309 | | 557 | |
| 310 | /** | 558 | /** |
| 311 | ·*··Returns·whether·the·gimbal·calibration·succeeded. | 559 | ·*··`YES`·if·the·gimbal·calibration·succeeded. |
| 312 | ·*/ | 560 | ·*/ |
| 313 | @property(nonatomic,·readonly)·BOOL·isCalibrationSuccessful; | 561 | @property(nonatomic,·readonly)·BOOL·isCalibrationSuccessful; |
| 314 | | 562 | |
| 315 | /** | 563 | /** |
| 316 | ·*··YES·if·the·Gimbal·is·calibrating. | 564 | ·*··`YES`·if·the·gimbal·is·calibrating. |
| 317 | ·*/ | 565 | ·*/ |
| 318 | @property(nonatomic,·readonly)·BOOL·isCalibrating; | 566 | @property(nonatomic,·readonly)·BOOL·isCalibrating; |
| 319 | | 567 | |
| 320 | /** | 568 | /** |
| 321 | ·*··Returns·whether·the·gimbal's·pitch·value·is·at·its·maximum. | 569 | ·*··Returns·whether·the·gimbal's·pitch·value·is·at·its·limit. |
| 322 | ·*/ | 570 | ·*/ |
| 323 | @property(nonatomic,·readonly)·BOOL·isPitchAtStop; | 571 | @property(nonatomic,·readonly)·BOOL·isPitchAtStop; |
| 324 | | 572 | |
| 325 | /** | 573 | /** |
| 326 | ·*··Returns·whether·the·gimbal's·roll·value·is·at·its·maximum. | 574 | ·*··Returns·whether·the·gimbal's·roll·value·is·at·its·limit. |
| 327 | ·*/ | 575 | ·*/ |
| 328 | @property(nonatomic,·readonly)·BOOL·isRollAtStop; | 576 | @property(nonatomic,·readonly)·BOOL·isRollAtStop; |
| 329 | | 577 | |
| 330 | /** | 578 | /** |
| 331 | ·*··Returns·whether·the·gimbal's·yaw·value·is·at·its·maximum. | 579 | ·*··Returns·whether·the·gimbal's·yaw·value·is·at·its·limit. |
| 332 | ·*/ | 580 | ·*/ |
| 333 | @property(nonatomic,·readonly)·BOOL·isYawAtStop; | 581 | @property(nonatomic,·readonly)·BOOL·isYawAtStop; |
| 334 | | 582 | |
| | 583 | /** |
| | 584 | ·*··`YES`·if·the·gimbal·is·currently·testing·payload·balance.·Only·used·by·Ronin-MX. |
| | 585 | ·*/ |
| | 586 | @property(nonatomic,·readonly)·BOOL·isTestingBalance; |
| | 587 | |
| | 588 | /** |
| | 589 | ·*··Returns·the·pitch·axis·balance·test·result.·Only·used·by·Ronin-MX. |
| | 590 | ·*/ |
| | 591 | @property(nonatomic,·readonly)·DJIGimbalBalanceTestResult·pitchTestResult; |
| | 592 | |
| | 593 | /** |
| | 594 | ·*··Returns·the·roll·axis·balance·test·result.·Only·used·by·Ronin-MX. |
| | 595 | ·*/ |
| | 596 | @property(nonatomic,·readonly)·DJIGimbalBalanceTestResult·rollTestResult; |
| | 597 | |
| 335 | @end | 598 | @end |
| 336 | | 599 | |
| 337 | /*********************************************************************************/ | 600 | /*********************************************************************************/ |
| 338 | #pragma·mark·-·DJIGimbalUserConfigObject | 601 | #pragma·mark·-·DJIGimbalAdvancedSettingsState |
| 339 | /*********************************************************************************/ | 602 | /*********************************************************************************/ |
| 340 | | 603 | |
| 341 | /** | 604 | /** |
| 342 | ·* | 605 | ·*··The·current·advanced·settings·of·the·gimbal.·These·include·settings·for·SmoothTrack·and·the·Controller. |
| 343 | ·*··This·class·provides·advanced·configuration·of·the·gimbal.·By·changing·the·configuration,·the·user·can | 606 | ·*··Only·supported·by·Osmo. |
| 344 | ·*··adjust·the·responsivity·of·the·gimbal. | |
| 345 | ·*··Currently,·the·advanced·configuration·is·only·supported·by·Osmo. | |
| 346 | ·*/ | 607 | ·*/ |
| 347 | @interface·DJIGimbalConfig·:·NSObject | 608 | @interface·DJIGimbalAdvancedSettingsState·:·NSObject |
| 348 | | 609 | |
| 349 | /** | 610 | /** |
| 350 | ·*··Gimbal·configuration·type.·There·are·three·preset·types:·fast,·medium·and·slow. | 611 | ·*··Advanced·settings·profile.·`DJIGimbalAdvancedSettingsProfileFast`,·`DJIGimbalAdvancedSettingsProfileMedium`·and·`DJIGimbalAdvancedSettingsProfileSlow`·are·preset·profiles.·In·these·profiles,·SmoothTrack·and·Controller·settings·cannot·be·manually·changed.·When·the·profile·is·`DJIGimbalAdvancedSettingsProfileCustom1`·or·`DJIGimbalAdvancedSettingsProfileCustom2`,·the·SmoothTrack·and·Controller·settings·can·be·manually·changed.·When·a·profile·is·changed·from·a·custom·setting,·the·current·settings·will·be·saved·in·that·custom·setting. |
| 351 | ·*··When·the·configuration·type·to·`DJIGimbalUserConfigTypeCustom1`·or·`DJIGimbalUserConfigTypeCustom2`,·the·user·can·change | |
| 352 | ·*··the·configuration·by·calling·methods·related·to·`smoothTracking`. | |
| 353 | ·*/ | 612 | ·*/ |
| 354 | @property(nonatomic,·readonly)·DJIGimbalUserConfigType·configType; | 613 | @property(nonatomic,·readonly)·DJIGimbalAdvancedSettingsProfile·profile; |
| 355 | | 614 | |
| 356 | /** | 615 | /** |
| 357 | ·*··YES·if·gimbal·SmoothTrack·is·enabled·for·the·yaw·axis. | 616 | ·*··YES·if·gimbal·SmoothTrack·is·enabled·for·the·yaw·axis. |
| 358 | ·*/ | 617 | ·*/ |
| 359 | @property(nonatomic,·readonly)·BOOL·isSmoothTrackYawEnabled; | 618 | @property(nonatomic,·readonly)·BOOL·isSmoothTrackEnabledYaw; |
| 360 | | 619 | |
| 361 | /** | 620 | /** |
| 362 | ·*··YES·if·gimbal·SmoothTrack·is·enabled·for·the·pitch·axis. | 621 | ·*··YES·if·gimbal·SmoothTrack·is·enabled·for·the·pitch·axis. |
| 363 | ·*/ | 622 | ·*/ |
| 364 | @property(nonatomic,·readonly)·BOOL·isSmoothTrackPitchEnabled; | 623 | @property(nonatomic,·readonly)·BOOL·isSmoothTrackEnabledPitch; |
| 365 | | 624 | |
| 366 | /** | 625 | /** |
| 367 | ·*··SmoothTrack·yaw·axis·speed·determines·how·fast·the·gimbal·will·catch·up·with·the·translated·yaw·handle·movement. | 626 | ·*··SmoothTrack·yaw·axis·speed·determines·how·fast·the·gimbal·will·catch·up·with·the·translated·yaw·handle·movement. |
| 368 | ·*··Range·is·[0,100]. | 627 | ·*··Range·is·[0,100]. |
| 369 | ·*/ | 628 | ·*/ |
| 370 | @property(nonatomic,·readonly)·NSInteger·smoothTrackYawSpeed; | 629 | @property(nonatomic,·readonly)·NSInteger·smoothTrackSpeedYaw; |
| 371 | | 630 | |
| 372 | /** | 631 | /** |
| 373 | ·*··SmoothTrack·pitch·axis·speed·determines·how·fast·the·gimbal·will·catch·up·with·the·translated·pitch·handle·movement. | 632 | ·*··SmoothTrack·pitch·axis·speed·determines·how·fast·the·gimbal·will·catch·up·with·the·translated·pitch·handle·movement. |
| 374 | ·*··Range·is·[0,100]. | 633 | ·*··Range·is·[0,100]. |
| 375 | ·*/ | 634 | ·*/ |
| 376 | @property(nonatomic,·readonly)·NSInteger·smoothTrackPitchSpeed; | 635 | @property(nonatomic,·readonly)·NSInteger·smoothTrackSpeedPitch; |
| 377 | | 636 | |
| 378 | /** | 637 | /** |
| 379 | ·*···A·larger·SmoothTrack·yaw·axis·deadband·requires·more·yaw·handle·movement·to·translate·into·gimbal·motion. | 638 | ·*···A·larger·SmoothTrack·yaw·axis·deadband·requires·more·yaw·handle·movement·to·translate·into·gimbal·motion. |
| 380 | ·*··Range·is·[0,90]·degrees. | 639 | ·*··Range·is·[0,90]·degrees. |
| 381 | ·*/ | 640 | ·*/ |
| 382 | @property(nonatomic,·readonly)·NSInteger·smoothTrackYawDeadband; | 641 | @property(nonatomic,·readonly)·NSInteger·smoothTrackDeadbandYaw; |
| 383 | | 642 | |
| 384 | /** | 643 | /** |
| 385 | ·*···A·larger·SmoothTrack·pitch·axis·deadband·requires·more·pitch·handle·movement·to·translate·into·gimbal·motion. | 644 | ·*···A·larger·SmoothTrack·pitch·axis·deadband·requires·more·pitch·handle·movement·to·translate·into·gimbal·motion. |
| 386 | ·*··Range·is·[0,90]·degrees. | 645 | ·*··Range·is·[0,90]·degrees. |
| 387 | ·*/ | 646 | ·*/ |
| 388 | @property(nonatomic,·readonly)·NSInteger·smoothTrackPitchDeadband; | 647 | @property(nonatomic,·readonly)·NSInteger·smoothTrackDeadbandPitch; |
| 389 | | 648 | |
| 390 | /** | 649 | /** |
| 391 | ·*··SmoothTrack·yaw·axis·acceleration·determines·how·closely·the·camera·will·follow·the·translated·yaw·handle·movement. | 650 | ·*··SmoothTrack·yaw·axis·acceleration·determines·how·closely·the·gimbal's·yaw·axis·will·follow·the·translated·controller·movement. |
| 392 | ·*··Range·is·[0,30]. | 651 | ·*··Range·is·[0,30]. |
| 393 | ·*/ | 652 | ·*/ |
| 394 | @property(nonatomic,·readonly)·NSInteger·smoothTrackYawAcceleration; | 653 | @property(nonatomic,·readonly)·NSInteger·smoothTrackAccelerationYaw; |
| 395 | | 654 | |
| 396 | /** | 655 | /** |
| 397 | ·*··SmoothTrack·pitch·axis·acceleration·determines·how·closely·the·camera·will·follow·the·translated·pitch·handle·movement. | 656 | ·*··SmoothTrack·pitch·axis·acceleration·determines·how·closely·the·gimbal's·yaw·axis·will·follow·the·translated·controller·movement. |
| 398 | ·*··Range·is·[0,30]. | 657 | ·*··Range·is·[0,30]. |
| 399 | ·*/ | 658 | ·*/ |
| 400 | @property(nonatomic,·readonly)·NSInteger·smoothTrackPitchAcceleration; | 659 | @property(nonatomic,·readonly)·NSInteger·smoothTrackAccelerationPitch; |
| 401 | | 660 | |
| 402 | /** | 661 | /** |
| 403 | ·*··Joystick·yaw·axis·smoothing·controls·the·deceleration·of·the·gimbal.·A·small·value·will·cause·the·gimbal·to·stop·abruptly. | 662 | ·*··Controller·yaw·axis·smoothing·controls·the·deceleration·of·the·gimbal.·A·small·value·will·cause·the·gimbal·to·stop·abruptly. |
| 404 | ·*··Range·is·[0,30]. | 663 | ·*··Range·is·[0,30]. |
| 405 | ·*/ | 664 | ·*/ |
| 406 | @property(nonatomic,·readonly)·NSInteger·joystickYawSmoothing; | 665 | @property(nonatomic,·readonly)·NSInteger·controllerSmoothingYaw; |
| 407 | | 666 | |
| 408 | /** | 667 | /** |
| 409 | ·*··Joystick·pitch·axis·smoothing·controls·the·deceleration·of·the·gimbal.·A·small·value·will·cause·the·gimbal·to·stop·abruptly. | 668 | ·*··Controller·pitch·axis·smoothing·controls·the·deceleration·of·the·gimbal.·A·small·value·will·cause·the·gimbal·to·stop·abruptly. |
| 410 | ·*··Range·is·[0,30]. | 669 | ·*··Range·is·[0,30]. |
| 411 | ·*/ | 670 | ·*/ |
| 412 | @property(nonatomic,·readonly)·NSInteger·joystickPitchSmoothing; | 671 | @property(nonatomic,·readonly)·NSInteger·controllerSmoothingPitch; |
| 413 | | 672 | |
| 414 | /** | 673 | /** |
| 415 | ·*··Joystick·yaw·axis·speed. | 674 | ·*··Controller·yaw·axis·speed·determines·how·sensitively·the·gimbal's·yaw·axis·will·follow·the·controller·movement. |
| 416 | ·*··Range·is·[0,100]. | 675 | ·*··Range·is·[0,100]. |
| 417 | ·*/ | 676 | ·*/ |
| 418 | @property(nonatomic,·readonly)·NSInteger·joystickYawSpeed; | 677 | @property(nonatomic,·readonly)·NSInteger·controllerSpeedYaw; |
| 419 | | 678 | |
| 420 | /** | 679 | /** |
| 421 | ·*··Joystick·pitch·axis·speed. | 680 | ·*··Controller·pitch·axis·speed·determines·how·sensitively·the·gimbal's·pitch·axis·will·follow·the·controller·movement. |
| 422 | ·*··Range·is·[0,100]. | 681 | ·*··Range·is·[0,100]. |
| 423 | ·*/ | 682 | ·*/ |
| 424 | @property(nonatomic,·readonly)·NSInteger·joystickPitchSpeed; | 683 | @property(nonatomic,·readonly)·NSInteger·controllerSpeedPitch; |
| 425 | | 684 | |
| 426 | @end | 685 | @end |
| 427 | | 686 | |
| 428 | /*********************************************************************************/ | 687 | /*********************************************************************************/ |
| 429 | #pragma·mark·-·GimbalAttitudeResultBlock | |
| 430 | /*********************************************************************************/ | |
| 431 | | |
| 432 | /** | |
| 433 | ·*··Typedef·block·to·be·invoked·when·the·remote·attitude·data·is·successfully·changed. | |
| 434 | ·*/ | |
| 435 | typedef·void·(^GimbalAttitudeResultBlock)(DJIGimbalAttitude·attitudeInDegrees); | |
| 436 | | |
| 437 | /*********************************************************************************/ | |
| 438 | #pragma·mark·-·DJIGimbalDelegate | 688 | #pragma·mark·-·DJIGimbalDelegate |
| 439 | /*********************************************************************************/ | 689 | /*********************************************************************************/ |
| 440 | | 690 | |
| ⋮ | ⋮ |
| 450 | /** | 700 | /** |
| 451 | ·*··Updates·the·gimbal's·current·state. | 701 | ·*··Updates·the·gimbal's·current·state. |
| 452 | ·*/ | 702 | ·*/ |
| 453 | -·(void)gimbalController:(DJIGimbal·*)controller·didUpdateGimbalState:(DJIGimbalState·*)gimbalState; | 703 | -·(void)gimbal:(DJIGimbal·*_Nonnull)gimbal·didUpdateGimbalState:(DJIGimbalState·*_Nonnull)gimbalState; |
| 454 | | 704 | |
| 455 | /** | 705 | /** |
| 456 | ·*··Update·the·gimbal's·user·configuration·data.·This·method·is·only·supported·for·Osmo. | 706 | ·*··Update·the·gimbal's·user·configuration·data.·This·method·is·only·supported·for·Osmo. |
| 457 | ·*/ | 707 | ·*/ |
| 458 | -·(void)gimbalController:(DJIGimbal·*)controller·didUpdateGimbalConfig:(DJIGimbalConfig·*)gimbalConfig; | 708 | -·(void)gimbal:(DJIGimbal·*_Nonnull)gimbal·didUpdateAdvancedSettingsState:(DJIGimbalAdvancedSettingsState·*_Nonnull)settingsState; |
| | 709 | |
| | 710 | /** |
| | 711 | ·*··Update·the·gimbal's·remaining·energy·in·percentage.·This·method·is·only·supported·for·Ronin-MX. |
| | 712 | ·*/ |
| | 713 | -·(void)gimbal:(DJIGimbal·*_Nonnull)gimbal·didUpdateGimbalBatteryRemainingEnergy:(NSInteger)energy; |
| 459 | | 714 | |
| 460 | @end | 715 | @end |
| 461 | | 716 | |
| ⋮ | ⋮ |
| 486 | ·*··angle,this·property·will·be·used·to·determine·in·what·duration·of·time·the·gimbal·should | 741 | ·*··angle,this·property·will·be·used·to·determine·in·what·duration·of·time·the·gimbal·should |
| 487 | ·*··rotate·to·its·new·position.·For·example,·if·the·value·of·this·property·is·set·to·2.0 | 742 | ·*··rotate·to·its·new·position.·For·example,·if·the·value·of·this·property·is·set·to·2.0 |
| 488 | ·*··seconds,·the·gimbal·will·rotate·to·its·target·position·in·2.0·seconds. | 743 | ·*··seconds,·the·gimbal·will·rotate·to·its·target·position·in·2.0·seconds. |
| 489 | ·*··Range·is·[0.1,25.5]·seconds. | 744 | ·*··Range·is·[0.1,·25.5]·seconds. |
| 490 | ·* | |
| 491 | ·*/ | 745 | ·*/ |
| 492 | @property(nonatomic,·assign)·double·completionTimeForControlAngleAction; | 746 | @property(nonatomic,·assign)·double·completionTimeForControlAngleAction; |
| 493 | | 747 | |
| 494 | //----------------------------------------------------------------- | 748 | /** |
| | 749 | ·*··Returns·the·gimbal's·features·and·possible·range·of·settings. |
| | 750 | ·*··Each·dictionary·key·is·a·possible·gimbal·feature·and·uses·the·DJIGimbalKey·prefix. |
| | 751 | ·*··The·value·for·each·key·is·an·instance·of·`DJIParamCapability`·or·its·sub-classes.· |
| | 752 | ·*··The·`isSupported`·property·can·be·used·to·query·if·a·feature·is·supported·by·the·gimbal |
| | 753 | ·*··and·the·`min`·and·`max`·properties·of·`DJIParamCapabilityMinMax`·can·be·used·to·query· |
| | 754 | ·*··the·valid·range·for·the·setting.·When·a·feature·is·not·supported,·the·values·for· |
| | 755 | ·*··`min`·and·`max`·are·undefined. |
| | 756 | ·*/ |
| | 757 | @property(nonatomic,·readonly)·NSDictionary*·_Nonnull·gimbalCapability; |
| | 758 | |
| | 759 | /*********************************************************************************/ |
| 495 | #pragma·mark·Set·Gimbal·Work·Mode | 760 | #pragma·mark·Set·Gimbal·Work·Mode |
| 496 | //----------------------------------------------------------------- | 761 | /*********************************************************************************/ |
| 497 | | 762 | |
| 498 | /** | 763 | /** |
| 499 | ·*··Sets·the·gimbal's·work·mode.·See·enum·`DJIGimbalWorkMode`·for·modes. | 764 | ·*··Sets·the·gimbal's·work·mode.·See·enum·`DJIGimbalWorkMode`·for·modes. |
| ⋮ | ⋮ |
| 503 | ·*/ | 768 | ·*/ |
| 504 | -·(void)setGimbalWorkMode:(DJIGimbalWorkMode)workMode·withCompletion:(DJICompletionBlock)block; | 769 | -·(void)setGimbalWorkMode:(DJIGimbalWorkMode)workMode·withCompletion:(DJICompletionBlock)block; |
| 505 | | 770 | |
| 506 | //----------------------------------------------------------------- | 771 | /*********************************************************************************/ |
| 507 | #pragma·mark·Gimbal·Control | 772 | #pragma·mark·Gimbal·Control |
| 508 | //----------------------------------------------------------------- | 773 | /*********************************************************************************/ |
| 509 | | |
| 510 | /** | |
| 511 | ·*··Gets·the·gimbal's·constraints·including·which·axes·are·adjustable,·and·what·the·axis·stops·are. | |
| 512 | ·* | |
| 513 | ·*··@return·Gimbal's·constraints.·If·the·SDK·and·the·aircraft·have·lost·connection·with·each·other,·the | |
| 514 | ·*··method·will·return·nil. | |
| 515 | ·*/ | |
| 516 | -·(nullable·DJIGimbalConstraints·*)getGimbalConstraints; | |
| 517 | | 774 | |
| 518 | /** | 775 | /** |
| 519 | ·*··Rotate·the·gimbal's·pitch,·roll,·and·yaw·in·Angle·Mode.·The·direction·can·either·be·set·to·clockwise·or·counter-clockwise. | 776 | ·*··Rotate·the·gimbal's·pitch,·roll,·and·yaw·in·Angle·Mode. |
| 520 | ·* | 777 | ·*··See·`gimbalCapability`·for·which·axes·can·be·moved·for·the·gimbal·being·used. |
| 521 | ·*··For·Phantom·3·Professional,·Phantom·3·Advanced·and·Phantom·3·Standard,·roll·and·yaw·rotations·are·not·available.·For·Inspire·1,·Inspire·Pro·and·M100,·pitch,·roll·and·yaw·rotations·are·available.·The·range·for·roll·rotation·is·[-15,·15].·For·Osmo,·roll·rotation·is·not·available. | |
| 522 | ·* | 778 | ·* |
| 523 | ·*··@param·pitch·Gimbal's·pitch·rotation. | 779 | ·*··@param·pitch·Gimbal's·pitch·rotation. |
| 524 | ·*··@param·roll·Gimbal's·roll·rotation. | 780 | ·*··@param·roll·Gimbal's·roll·rotation. |
| ⋮ | ⋮ |
| 528 | -·(void)rotateGimbalWithAngleMode:(DJIGimbalRotateAngleMode)angleMode·pitch:(DJIGimbalAngleRotation)pitch·roll:(DJIGimbalAngleRotation)roll·yaw:(DJIGimbalAngleRotation)yaw·withCompletion:(DJICompletionBlock)block; | 784 | -·(void)rotateGimbalWithAngleMode:(DJIGimbalRotateAngleMode)angleMode·pitch:(DJIGimbalAngleRotation)pitch·roll:(DJIGimbalAngleRotation)roll·yaw:(DJIGimbalAngleRotation)yaw·withCompletion:(DJICompletionBlock)block; |
| 529 | | 785 | |
| 530 | /** | 786 | /** |
| 531 | ·*··Rotate·the·gimbal's·pitch,·roll,·and·yaw·using·speed.·The·direction·can·either·be·set·to | 787 | ·*··Rotate·the·gimbal's·pitch,·roll,·and·yaw·using·speed.·The·direction·can·either·be·set·to·clockwise·or·counter-clockwise. |
| 532 | ·*··clockwise·or·counter-clockwise. | 788 | ·*··See·`gimbalCapability`·for·which·axes·can·be·moved·for·the·gimbal·being·used. |
| 533 | ·*··For·Phantom·3·Professional,·Phantom·3·Advanced·and·Phantom·3·Standard,·roll·and·yaw·rotations·are·not·available. | |
| 534 | ·*··For·Inspire·1,·Inspire·Pro·and·M100,·pitch,·roll·and·yaw·rotations·are·available. | |
| 535 | ·*··For·Osmo,·roll·rotation·is·not·available.·The·`angleVelocity`·range·of·`DJIGimbalSpeedRotation`·for·yaw·and·pitch·is·(0,·120). | |
| 536 | ·* | 789 | ·* |
| 537 | ·*··@param·pitch·Gimbal's·pitch·rotation. | 790 | ·*··@param·pitch·Gimbal's·pitch·rotation. |
| 538 | ·*··@param·roll·Gimbal's·roll·rotation. | 791 | ·*··@param·roll·Gimbal's·roll·rotation. |
| ⋮ | ⋮ |
| 542 | -·(void)rotateGimbalBySpeedWithPitch:(DJIGimbalSpeedRotation)pitch·roll:(DJIGimbalSpeedRotation)roll·yaw:(DJIGimbalSpeedRotation)yaw·withCompletion:(DJICompletionBlock)block; | 795 | -·(void)rotateGimbalBySpeedWithPitch:(DJIGimbalSpeedRotation)pitch·roll:(DJIGimbalSpeedRotation)roll·yaw:(DJIGimbalSpeedRotation)yaw·withCompletion:(DJICompletionBlock)block; |
| 543 | | 796 | |
| 544 | /** | 797 | /** |
| 545 | ·*··Resets·the·gimbal.·The·gimbal's·pitch,·roll,·and·yaw·will·be·set·to·the·origin,·which·is | 798 | ·*··Resets·the·gimbal.·The·gimbal's·pitch,·roll,·and·yaw·will·be·set·to·the·origin,·which·is·the·standard·position·for·the·gimbal. |
| 546 | ·*··the·standard·position·for·the·gimbal. | |
| 547 | ·* | 799 | ·* |
| 548 | ·*··@param·block·Remote·execution·result·error·block. | 800 | ·*··@param·block·Remote·execution·result·error·block. |
| 549 | ·*/ | 801 | ·*/ |
| 550 | -·(void)resetGimbalWithCompletion:(DJICompletionBlock)block; | 802 | -·(void)resetGimbalWithCompletion:(DJICompletionBlock)block; |
| 551 | | 803 | |
| 552 | //----------------------------------------------------------------- | 804 | /*********************************************************************************/ |
| 553 | #pragma·mark·Gimbal·Calibration | 805 | #pragma·mark·Gimbal·Calibration |
| 554 | //----------------------------------------------------------------- | 806 | /*********************************************************************************/ |
| | 807 | |
| 555 | /** | 808 | /** |
| 556 | ·*··Starts·calibrating·the·gimbal.·The·product·should·be·stationary·(not·flying,·or·being·held)·and·horizontal·during·calibration.· | 809 | ·*··Starts·calibrating·the·gimbal.·The·product·should·be·stationary·(not·flying,·or·being·held)·and·horizontal·during·calibration.· |
| | 810 | ·*··For·gimbal's·with·adjustable·payloads,·the·payload·should·be·present·and·balanced·before·doing·a·calibration. |
| 557 | ·* | 811 | ·* |
| 558 | ·*··@param·block·Remote·execution·result·error·block. | 812 | ·*··@param·block·Remote·execution·result·error·block. |
| 559 | ·*/ | 813 | ·*/ |
| ⋮ | ⋮ |
| 569 | ·*/ | 823 | ·*/ |
| 570 | -·(void)fineTuneGimbalRollInDegrees:(float)offset·withCompletion:(DJICompletionBlock)block; | 824 | -·(void)fineTuneGimbalRollInDegrees:(float)offset·withCompletion:(DJICompletionBlock)block; |
| 571 | | 825 | |
| 572 | //----------------------------------------------------------------- | 826 | /** |
| 573 | #pragma·mark·Gimbal·User·Config | 827 | ·*··Starts·testing·the·balance·of·the·gimbal·payload. |
| 574 | //----------------------------------------------------------------- | 828 | ·*··For·gimbals·that·allow·payloads·to·be·changed,·a·balance·test·should·be·performed·to·ensure·the·camera·is·mounted·correctly. |
| | 829 | ·*··The·product·should·be·stationary·(not·flying,·or·being·held)·and·horizontal·during·testing.·See·`DJIGimbalState`·for·the·test·result. |
| | 830 | ·*··Only·supported·by·Ronin-MX. |
| | 831 | ·* |
| | 832 | ·*··@param·block·Completion·block·that·receives·the·execution·result.·The·completion·block·will·return·when·the·balance·test·is·successfully·started. |
| | 833 | ·*/ |
| | 834 | -·(void)startGimbalBalanceTestWithCompletion:(DJICompletionBlock)block; |
| | 835 | |
| | 836 | /*********************************************************************************/ |
| | 837 | #pragma·mark·-·Gimbal·Advanced·Setting |
| | 838 | /*********************************************************************************/ |
| 575 | | 839 | |
| 576 | /** | 840 | /** |
| 577 | ·*···YES·if·gimbal·supports·a·user·configuration·(Osmo·only). | 841 | ·*··Sets·the·advanced·settings·profile.·The·advanced·settings·profile·has·options·for·both·preset·and·custom·profiles |
| | 842 | ·*··for·SmoothTrack·and·Controller·settings.·Settings·for·SmoothTrack·and·Controller·can·only·be·set·manually·when·using·a·custom·profile. |
| | 843 | ·*··Use·`DJIGimbalKeyAdvancedSettingsProfile`·in·`gimbalCapability`·to·check·if·it·is·supported·by·the·gimbal. |
| | 844 | ·*··Only·supported·by·Osmo. |
| | 845 | ·* |
| | 846 | ·*··@param·profile·Profile·to·set. |
| | 847 | ·*··@param·block·Completion·block·that·receives·the·execution·result. |
| 578 | ·*/ | 848 | ·*/ |
| 579 | -·(BOOL)isUserConfigSupported; | 849 | -·(void)setAdvancedSettingsProfile:(DJIGimbalAdvancedSettingsProfile)profile·withCompletion:(DJICompletionBlock)block; |
| 580 | | 850 | |
| 581 | /** | 851 | /** |
| 582 | ·*··Sets·gimbal·user·configuration·type. | 852 | ·*··Gets·the·advanced·settings·profile. |
| | 853 | ·*··Use·`DJIGimbalKeyAdvancedSettingsProfile`·to·check·if·it·is·supported·by·the·gimbal. |
| | 854 | ·*··Only·supported·by·Osmo. |
| 583 | ·* | 855 | ·* |
| 584 | ·*··@param·userConfigType·Gimbal·User·Configure·type. | 856 | ·*··@param·block·Completion·block·that·receives·the·execution·result. |
| 585 | ·*··@param·block·Set·Gimbal·User·Config·result·block. | 857 | ·*/ |
| | 858 | -·(void)getAdvancedSettingsProfileWithCompletion:(void·(^_Nonnull)(DJIGimbalAdvancedSettingsProfile·profile,·NSError·*_Nullable·error))block; |
| | 859 | |
| | 860 | /** |
| | 861 | ·*··Restores·the·gimbal's·settings·to·factory·settings. |
| 586 | ·* | 862 | ·* |
| | 863 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 587 | ·*/ | 864 | ·*/ |
| 588 | -·(void)setGimbalUserConfigType:(DJIGimbalUserConfigType)userConfigType·withCompletion:(DJICompletionBlock)block; | 865 | -·(void)loadFactorySettings:(DJICompletionBlock)block; |
| | 866 | |
| | 867 | /*********************************************************************************/ |
| | 868 | #pragma·mark·Gimbal·Range·Extension |
| | 869 | /*********************************************************************************/ |
| 589 | | 870 | |
| 590 | /** | 871 | /** |
| 591 | ·*··Gets·gimbal·user·configuration·type. | 872 | ·*··Extends·the·pitch·range·of·gimbal.·Currently,·it·is·only·supported·by·Phantom·3·Series·and·Phantom·4.·If·extended,·the·gimbal's·pitch·control·range·can·be·[-30,·90],·otherwise,·it's·[0,·90]. |
| | 873 | ·*··Use·`DJIGimbalKeyPitchRangeExtension`·to·check·if·it·is·supported·by·the·gimbal. |
| 592 | ·* | 874 | ·* |
| 593 | ·*··@param·block·Get·Gimbal·User·Config·result·block. | 875 | ·*··@param·shouldExtend·Whether·the·pitch·range·should·be·extended |
| | 876 | ·*··@param·block·The·completion·block·that·receives·execution·result. |
| | 877 | ·*/ |
| | 878 | -·(void)setPitchRangeExtensionEnabled:(BOOL)shouldExtend·withCompletion:(DJICompletionBlock)block; |
| | 879 | |
| | 880 | /** |
| | 881 | ·*··Get·the·extend·gimbal·pitch·range·state.· |
| | 882 | ·*··Use·`DJIGimbalKeyPitchRangeExtension`·to·check·if·it·is·supported·by·the·gimbal. |
| 594 | ·* | 883 | ·* |
| | 884 | ·*··@param·shouldExtend·Whether·the·pitch·range·should·be·extended |
| | 885 | ·*··@param·block········The·completion·block·that·receives·execution·result. |
| 595 | ·*/ | 886 | ·*/ |
| 596 | -·(void)getGimbalUserConfigTypeWithCompletion:(void·(^)(DJIGimbalUserConfigType·userConfigType,·BOOL·success))block; | 887 | -·(void)getPitchRangeExtensionEnabledWithCompletion:(void·(^_Nonnull)(BOOL·isExtended,·NSError·*_Nullable·error))block; |
| 597 | ; | 888 | |
| | 889 | /*********************************************************************************/ |
| | 890 | #pragma·mark·Gimbal·Motor·Control·Configuration |
| | 891 | /*********************************************************************************/ |
| 598 | | 892 | |
| 599 | /** | 893 | /** |
| 600 | ·*··Enables·a·gimbal·SmoothTrack·axis. | 894 | ·*··Configures·gimbal's·motor·control·with·a·preset·configuration·applicable·for·most·popular·cameras.· |
| | 895 | ·*··In·order·to·the·optimize·the·performance,·motor·control·tuning·is·still·required. |
| 601 | ·* | 896 | ·* |
| 602 | ·*··@param·axis·Gimbal·axis. | 897 | ·*··@param·preset···The·preset·configuration·to·set. |
| 603 | ·*··@param·enabled·YES·if·SmoothTrack·is·to·be·enabled·on·axis. | 898 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 604 | ·*··@param·block·set·if·Gimbal·SmoothTrack·Adjustment·is·available·to·be·customized·in·the·specific·direction·result·block. | 899 | ·*/ |
| | 900 | -·(void)configureMotorControlWithPreset:(DJIGimbalMotorControlPreset)preset·withCompletion:(DJICompletionBlock)block; |
| | 901 | |
| | 902 | /** |
| | 903 | ·*··Sets·the·coefficient·of·speed·error·control.·It·can·be·seen·as·the·coefficient·for·the·proportional·term·in·the·PID·controller.·Only·supported·by·Ronin-MX. |
| | 904 | ·*··Use·`DJIGimbalKeyMotorControlStiffnessPitch`,·`DJIGimbalKeyMotorControlStiffnessYaw`·and·`DJIGimbalKeyMotorControlStiffnessRoll`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 605 | ·* | 905 | ·* |
| | 906 | ·*···@param·stiffness···The·stiffness·value·to·set. |
| | 907 | ·*···@param·axis········The·axis·that·the·setting·is·applied·to. |
| | 908 | ·*···@param·block·······The·completion·block·that·receives·execution·result. |
| 606 | ·*/ | 909 | ·*/ |
| 607 | -·(void)setGimbalSmoothTrackAxisEnabledOnAxis:(DJIGimbalSmoothTrackAxis)axis·isEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)block; | 910 | -·(void)setMotorControlStiffness:(NSInteger)stiffness·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| | 911 | /** |
| | 912 | ·*··Gets·the·coefficient·of·speed·error·control.·It·can·be·seen·as·the·coefficient·for·the·proportional·term·in·the·PID·controller.·Only·supported·by·Ronin-MX. |
| | 913 | ·*··Use·`DJIGimbalKeyMotorControlStiffnessPitch`,·`DJIGimbalKeyMotorControlStiffnessYaw`·and·`DJIGimbalKeyMotorControlStiffnessRoll`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 914 | ·* |
| | 915 | ·*··@param·axis·····The·axis·to·query. |
| | 916 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 917 | ·*/ |
| | 918 | -·(void)getMotorControlStiffnessOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·stiffness,·NSError·*_Nullable·error))block; |
| 608 | | 919 | |
| 609 | /** | 920 | /** |
| 610 | ·*··Gets·whether·an·axis·has·SmoothTrack·enabled. | 921 | ·*··Sets·the·coefficient·of·attitude·accuracy·control.·It·can·be·seen·as·the·coefficient·for·the·integral·term·in·the·PID·controller.·Only·supported·by·Ronin-MX. |
| | 922 | ·*··Use·`DJIGimbalKeyMotorControlStrengthPitch`,·`DJIGimbalKeyMotorControlStrengthYaw`·and·`DJIGimbalKeyMotorControlStrengthRoll`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 923 | ·* |
| | 924 | ·*···@param·strength····The·strength·value·to·set. |
| | 925 | ·*···@param·axis········The·axis·that·the·setting·is·applied·to. |
| | 926 | ·*···@param·block·······The·completion·block·that·receives·execution·result. |
| | 927 | ·*/ |
| | 928 | -·(void)setMotorControlStrength:(NSInteger)strength·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| | 929 | /** |
| | 930 | ·*··Gets·the·coefficient·of·attitude·accuracy·control.·It·can·be·seen·as·the·coefficient·for·the·integral·term·in·the·PID·controller.·Only·supported·by·Ronin-MX. |
| | 931 | ·*··Use·`DJIGimbalKeyMotorControlStrengthPitch`,·`DJIGimbalKeyMotorControlStrengthYaw`·and·`DJIGimbalKeyMotorControlStrengthRoll`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 611 | ·* | 932 | ·* |
| 612 | ·*··@param·axis·Gimbal·axis. | 933 | ·*··@param·axis·····The·axis·to·query. |
| 613 | ·*··@param·block·get·if·Gimbal·SmoothTrack·Adjustment·is·available·to·be·customized·in·the·specific·direction·result·block. | 934 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 614 | ·*/ | 935 | ·*/ |
| 615 | -·(void)getGimbalSmoothTrackAxisEnabledOnAxis:(DJIGimbalSmoothTrackAxis)axis·withCompletion:(void·(^)(BOOL·isEnabled,·BOOL·success))block; | 936 | -·(void)getMotorControlStrengthOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·strength,·NSError·*_Nullable·error))block; |
| 616 | | 937 | |
| 617 | /** | 938 | /** |
| 618 | ·*··Sets·gimbal·SmoothTrack·catch·up·speed·on·an·axis.·SmoothTrack·speed·determines·how·fast·the·gimbal·will·catch·up·with·a·large,·translated·handle·movement·and·has·a·range·[0,100]. | 939 | ·*··Sets·the·coefficient·of·denoising·the·output.·Only·supported·by·Ronin-MX. |
| | 940 | ·*··Use·`DJIGimbalKeyMotorControlGyroFilteringPitch`,·`DJIGimbalKeyMotorControlGyroFilteringYaw`·and·`DJIGimbalKeyMotorControlGyroFilteringRoll`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 619 | ·* | 941 | ·* |
| 620 | ·*··@param·axis·Gimbal·axis. | 942 | ·*···@param·filtering···The·gyro·filtering·value·to·set. |
| 621 | ·*··@param·speed·SmoothTrack·speed·[0,100]. | 943 | ·*···@param·axis········The·axis·that·the·setting·is·applied·to. |
| 622 | ·*··@param·block·set·Gimbal·SmoothTrack·Adjustment·speed·in·specific·direction·result·block. | 944 | ·*···@param·block·······The·completion·block·that·receives·execution·result. |
| 623 | ·*/ | 945 | ·*/ |
| 624 | -·(void)setGimbalSmoothTrackSpeedOnAxis:(DJIGimbalSmoothTrackAxis)axis·speed:(NSInteger)speed·withCompletion:(DJICompletionBlock)block; | 946 | -·(void)setMotorControlGyroFiltering:(NSInteger)filtering·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| | 947 | /** |
| | 948 | ·*··Gets·the·coefficient·of·denoising·the·output.·Only·supported·by·Ronin-MX. |
| | 949 | ·*··Use·`DJIGimbalKeyMotorControlGyroFilteringPitch`,·`DJIGimbalKeyMotorControlGyroFilteringYaw`·and·`DJIGimbalKeyMotorControlGyroFilteringRoll`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 950 | ·* |
| | 951 | ·*··@param·axis·····The·axis·to·query. |
| | 952 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 953 | ·*/ |
| | 954 | -·(void)getMotorControlGyroFilteringOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·filtering,·NSError·*_Nullable·error))block; |
| 625 | | 955 | |
| 626 | /** | 956 | /** |
| 627 | ·*··Gets·gimbal·SmoothTrack·speed·on·an·axis.·SmoothTrack·speed·determines·how·fast·the·gimbal·will·catch·up·with·a·large,·translated·handle·movement·and·will·have·a·range·[0,100]. | 957 | ·*··Sets·the·value·for·pre-adjust.·It·can·be·seen·as·the·coefficient·for·the·derivative·term·in·the·PID·controller.·Only·supported·by·Ronin-MX. |
| | 958 | ·*··Use·`DJIGimbalKeyMotorControlPrecontrolPitch`,·`DJIGimbalKeyMotorControlPrecontrolYaw`·and·`DJIGimbalKeyMotorControlPrecontrolRoll`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 959 | ·* |
| | 960 | ·*···@param·precontrol··The·Precontrol·value·to·set. |
| | 961 | ·*···@param·axis········The·axis·that·the·setting·is·applied·to. |
| | 962 | ·*···@param·block·······The·completion·block·that·receives·execution·result. |
| | 963 | ·*/ |
| | 964 | -·(void)setMotorControlPrecontrol:(NSInteger)precontrol·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| | 965 | /** |
| | 966 | ·*··Gets·the·value·for·pre-adjust.·It·can·be·seen·as·the·coefficient·for·the·derivative·term·in·the·PID·controller.·Only·supported·by·Ronin-MX. |
| | 967 | ·*··Use·`DJIGimbalKeyMotorControlPrecontrolPitch`,·`DJIGimbalKeyMotorControlPrecontrolYaw`·and·`DJIGimbalKeyMotorControlPrecontrolRoll`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 628 | ·* | 968 | ·* |
| 629 | ·*··@param·axis·Gimbal·axis. | 969 | ·*··@param·axis·····The·axis·to·query. |
| 630 | ·*··@param·block·get·Gimbal·SmoothTrack·Adjustment·speed·in·specific·direction·result·block. | 970 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 631 | ·*/ | 971 | ·*/ |
| 632 | -·(void)getGimbalSmoothTrackSpeedOnAxis:(DJIGimbalSmoothTrackAxis)axis·withCompletion:(void·(^)(NSInteger·speed,·BOOL·success))block; | 972 | -·(void)getMotorControlPrecontrolOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·precontrol,·NSError·*_Nullable·error))block; |
| | 973 | |
| | 974 | /*********************************************************************************/ |
| | 975 | #pragma·mark·Gimbal·Controller·Setting |
| | 976 | /*********************************************************************************/ |
| 633 | | 977 | |
| 634 | /** | 978 | /** |
| 635 | ·*··Sets·SmoothTrack·deadband·on·an·axis.·A·larger·deadband·requires·more·handle·movement·to·translate·into·gimbal·motion.·Deadband·has·a·range·of·[0,90]·degrees. | 979 | ·*··Sets·physical·controller·(e.g.·the·joystick·on·Osmo·or·the·remote·controller·of·the·aircraft)·deadband·on·an·axis.·A·larger·deadband·requires·more·controller·movement·to·start·gimbal·motion. |
| | 980 | ·*··Use·`DJIGimbalKeyControllerDeadbandYaw`·and·`DJIGimbalKeyControllerDeadbandPitch`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 636 | ·* | 981 | ·* |
| 637 | ·*··@param·axis·Gimbal·axis. | 982 | ·*··@param·deadband·The·deadband·value·to·be·set. |
| 638 | ·*··@param·deadband·SmoothTrack·deadband·[0,90]. | 983 | ·*··@param·axis·····The·axis·that·the·setting·will·be·applied·to. |
| 639 | ·*··@param·block·set·Gimbal·SmoothTrack·Adjustment·deadband·in·specific·direction·result·block. | 984 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 985 | ·*/ |
| | 986 | -·(void)setControllerDeadband:(NSInteger)deadband·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| | 987 | /** |
| | 988 | ·*··Gets·physical·controller·deadband·value·on·an·axis.·A·larger·deadband·requires·more·controller·movement·to·start·gimbal·motion. |
| | 989 | ·*··Use·`DJIGimbalKeyControllerDeadbandYaw`·and·`DJIGimbalKeyControllerDeadbandPitch`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 990 | ·*··@param·axis·····The·axis·to·query. |
| | 991 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 640 | ·*/ | 992 | ·*/ |
| | 993 | -·(void)getControllerDeadbandOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·deadband,·NSError·*_Nullable·error))block; |
| 641 | | 994 | |
| 642 | -·(void)setGimbalSmoothTrackDeadbandOnAxis:(DJIGimbalSmoothTrackAxis)axis·deadband:(NSInteger)deadband·withCompletion:(DJICompletionBlock)block; | 995 | /** |
| | 996 | ·*··Sets·physical·controller·(e.g.·the·joystick·on·Osmo·or·the·remote·controller·of·the·aircraft)·speed·on·an·axis.·Speed·setting·controls·the·mapping·between·the·movement·of·the·controller·and·the·gimbal·speed. |
| | 997 | ·*··Use·`DJIGimbalKeyControllerSpeedYaw`·and·`DJIGimbalKeyControllerSpeedPitch`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 998 | · |
| | 999 | ·*··@param·speed····The·speed·value·to·be·set. |
| | 1000 | ·*··@param·axis·····The·axis·that·the·setting·will·be·applied·to. |
| | 1001 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1002 | ·*/ |
| | 1003 | -·(void)setControllerSpeed:(NSInteger)speed·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| | 1004 | /** |
| | 1005 | ·*··Gets·physical·controller·speed·value·on·an·axis.·Speed·setting·controls·the·mapping·between·the·movement·of·the·controller·and·the·gimbal·speed. |
| | 1006 | ·*··Use·`DJIGimbalKeyControllerSpeedYaw`·and·`DJIGimbalKeyControllerSpeedPitch`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 1007 | · |
| | 1008 | ·*··@param·axis·····The·axis·to·query. |
| | 1009 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1010 | ·*/ |
| | 1011 | -·(void)getControllerSpeedOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·speed,·NSError·*_Nullable·error))block; |
| 643 | | 1012 | |
| 644 | /** | 1013 | /** |
| 645 | ·*··Gets·SmoothTrack·deadband·on·an·axis.·A·larger·deadband·requires·more·handle·movement·to·translate·into·gimbal·motion.·Deadband·has·a·range·of·[0,90]·degrees. | 1014 | ·*··Sets·physical·controller·(e.g.·the·joystick·on·Osmo·or·the·remote·controller·of·the·aircraft)·smoothing·on·an·axis.·Smoothing·controls·the·deceleration·of·the·gimbal. |
| | 1015 | ·*··Use·`DJIGimbalKeyControllerSmoothingYaw`·and·`DJIGimbalKeyControllerSmoothingPitch`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 646 | ·* | 1016 | ·* |
| 647 | ·*··@param·axis·Gimbal·axis. | 1017 | ·*··@param·smoothing····The·smoothing·value·to·be·set. |
| 648 | ·*··@param·block·get·Gimbal·SmoothTrack·Adjustment·deadband·in·specific·direction·result·block. | 1018 | ·*··@param·axis·········The·axis·that·the·setting·will·be·applied·to. |
| | 1019 | ·*··@param·block········The·completion·block·that·receives·execution·result. |
| 649 | ·*/ | 1020 | ·*/ |
| | 1021 | -·(void)setControllerSmoothing:(NSInteger)smoothing·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| | 1022 | /** |
| | 1023 | ·*··Gets·physical·controller·smoothing·value·on·an·axis.·Smoothing·controls·the·deceleration·of·the·gimbal. |
| | 1024 | ·*··Use·`DJIGimbalKeyControllerSmoothingYaw`·and·`DJIGimbalKeyControllerSmoothingPitch`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 1025 | ·* |
| | 1026 | ·*··@param·axis·····The·axis·to·query. |
| | 1027 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1028 | ·*/ |
| | 1029 | -·(void)getControllerSmoothingOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·smoothing,·NSError·*_Nullable·error))block; |
| | 1030 | /*********************************************************************************/ |
| | 1031 | #pragma·mark·Gimbal·Smooth·Track·Setting |
| | 1032 | /*********************************************************************************/ |
| 650 | | 1033 | |
| 651 | -·(void)getGimbalSmoothTrackDeadbandOnAxis:(DJIGimbalSmoothTrackAxis)axis·withCompletion:(void·(^)(NSInteger·deadband,·BOOL·success))block; | 1034 | /** |
| | 1035 | ·*··Enables·SmoothTrack·for·the·axis.·Only·supported·by·Osmo.·Ronin-MX·supports·SmoothTrack·but·it·is·always·enabled·for·both·pitch·axis·and·yaw·axis. |
| | 1036 | ·*··Use·`DJIGimbalKeySmoothTrackEnabledPitch`·and·`DJIGimbalKeySmoothTrackEnabledYaw`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature. |
| | 1037 | ·* |
| | 1038 | ·*··@param·enabled··`YES`·to·enable·SmoothTrack·on·the·axis. |
| | 1039 | ·*··@param·axis·····The·axis·that·the·setting·will·be·applied·to. |
| | 1040 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1041 | ·*/ |
| | 1042 | -·(void)setSmoothTrackEnabled:(BOOL)enabled·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| 652 | | 1043 | |
| 653 | /** | 1044 | /** |
| 654 | ·*··Sets·SmoothTrack·acceleration·on·an·axis.·Acceleration·determines·how·closely·the·camera·will·follow·the·translated·yaw·handle·movement·and·has·a·range·of·[0,30]. | 1045 | ·*··Gets·whether·an·axis·has·SmoothTrack·enabled.·Only·supported·by·Osmo.·Ronin-MX·supports·SmoothTrack·but·it·is·always·enabled·for·both·pitch·axis·and·yaw·axis. |
| | 1046 | ·*··Use·`DJIGimbalKeySmoothTrackEnabledPitch`·and·`DJIGimbalKeySmoothTrackEnabledYaw`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature. |
| 655 | ·* | 1047 | ·* |
| 656 | ·*··@param·axis·Gimbal·axis. | 1048 | ·*··@param·axis·····The·axis·to·query. |
| 657 | ·*··@param·acceleration·SmoothTrack·acceleration·[0,30]. | 1049 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 658 | ·*··@param·block·set·Gimbal·SmoothTrack·Adjustment·acceleration·in·specific·direction·result·block. | |
| 659 | ·*/ | 1050 | ·*/ |
| | 1051 | -·(void)getSmoothTrackEnabledOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(BOOL·isEnabled,·NSError·*_Nullable·error))block; |
| 660 | | 1052 | |
| 661 | -·(void)setGimbalSmoothTrackAccelerationOnAxis:(DJIGimbalSmoothTrackAxis)axis·acceleration:(NSInteger)acceleration·withCompletion:(DJICompletionBlock)block; | 1053 | /** |
| | 1054 | ·*··Sets·gimbal·SmoothTrack·catch·up·speed·on·an·axis.·SmoothTrack·speed·determines·how·fast·the·gimbal·will·catch·up·with·a·large,·translated·handle·movement. |
| | 1055 | ·*··Use·`DJIGimbalKeySmoothTrackSpeedPitch`·and·`DJIGimbalKeySmoothTrackSpeedYaw`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| | 1056 | ·* |
| | 1057 | ·*··@param·speed····SmoothTrack·speed·[0,100]. |
| | 1058 | ·*··@param·axis·····The·axis·that·the·setting·will·be·applied·to. |
| | 1059 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1060 | ·*/ |
| | 1061 | -·(void)setSmoothTrackSpeed:(NSInteger)speed·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| 662 | | 1062 | |
| 663 | /** | 1063 | /** |
| 664 | ·*··Gets·SmoothTrack·acceleration·on·an·axis.·Acceleration·determines·how·closely·the·camera·will·follow·the·translated·yaw·handle·movement·and·has·a·range·of·[0,30]. | 1064 | ·*··Gets·gimbal·SmoothTrack·speed·on·an·axis.·SmoothTrack·speed·determines·how·fast·the·gimbal·will·catch·up·with·a·large,·translated·handle·movement. |
| | 1065 | ·*··Use·`DJIGimbalKeySmoothTrackSpeedPitch`·and·`DJIGimbalKeySmoothTrackSpeedYaw`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 665 | ·* | 1066 | ·* |
| 666 | ·*··@param·axis·Gimbal·axis. | 1067 | ·*··@param·axis·····The·axis·to·query. |
| 667 | ·*··@param·block·get·Gimbal·SmoothTrack·Adjustment·acceleration·in·specific·direction·result·block. | 1068 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 668 | ·*/ | 1069 | ·*/ |
| | 1070 | -·(void)getSmoothTrackSpeedOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·speed,·NSError·*_Nullable·error))block; |
| 669 | | 1071 | |
| 670 | -·(void)getGimbalSmoothTrackAccelerationOnAxis:(DJIGimbalSmoothTrackAxis)axis·withCompletion:(void·(^)(NSInteger·acceleration,·BOOL·success))block; | 1072 | /** |
| | 1073 | ·*··Sets·SmoothTrack·deadband·on·an·axis.·A·larger·deadband·requires·more·handle·movement·to·translate·into·gimbal·motion. |
| | 1074 | ·*··Use·`DJIGimbalKeySmoothTrackDeadbandPitch`·and·`DJIGimbalKeySmoothTrackDeadbandYaw`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·in·degrees. |
| | 1075 | ·* |
| | 1076 | ·*··@param·deadband·SmoothTrack·deadband·[0,90]. |
| | 1077 | ·*··@param·axis·····The·axis·that·the·setting·will·be·applied·to. |
| | 1078 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1079 | ·*/ |
| | 1080 | |
| | 1081 | -·(void)setSmoothTrackDeadband:(NSInteger)deadband·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| 671 | | 1082 | |
| 672 | /** | 1083 | /** |
| 673 | ·*··Sets·joystick·smoothing·on·an·axis.·Joystick·smoothing·controls·the·deceleration·of·the·gimbal.·A·small·value·will·cause·the·gimbal·to·stop·abruptly.·Smoothing·has·a·range·of·[0,30]. | 1084 | ·*··Gets·SmoothTrack·deadband·on·an·axis.·A·larger·deadband·requires·more·handle·movement·to·translate·into·gimbal·motion. |
| | 1085 | ·*··Use·`DJIGimbalKeySmoothTrackDeadbandPitch`·and·`DJIGimbalKeySmoothTrackDeadbandYaw`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·in·degrees. |
| 674 | ·* | 1086 | ·* |
| | 1087 | ·*··@param·axis·····The·axis·to·query. |
| | 1088 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1089 | ·*/ |
| | 1090 | |
| | 1091 | -·(void)getSmoothTrackDeadbandOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·deadband,·NSError·*_Nullable·error))block; |
| | 1092 | |
| | 1093 | /** |
| | 1094 | ·*··Sets·SmoothTrack·acceleration·on·an·axis.·Acceleration·determines·how·closely·the·camera·will·follow·the·translated·yaw·handle·movement. |
| | 1095 | ·*··Use·`DJIGimbalKeySmoothTrackAccelerationPitch`·and·`DJIGimbalKeySmoothTrackAccelerationYaw`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 675 | ·* | 1096 | ·* |
| 676 | ·*··@param·axis·Gimbal·axis. | 1097 | ·*··@param·acceleration·SmoothTrack·acceleration·[0,30]. |
| 677 | ·*··@param·smoothing·Joystick·Smoothing·[0,30]. | 1098 | ·*··@param·axis·········The·axis·that·the·setting·will·be·applied·to. |
| 678 | ·*··@param·block·set·Gimbal·Joystick·Smoothing·in·specific·direction·result·block. | 1099 | ·*··@param·block········The·completion·block·that·receives·execution·result. |
| 679 | ·*/ | 1100 | ·*/ |
| 680 | | 1101 | |
| 681 | -·(void)setGimbalJoystickSmoothingOnAxis:(DJIGimbalJoystickAxis)axis·smoothing:(NSInteger)smoothing·withCompletion:(DJICompletionBlock)block; | 1102 | -·(void)setSmoothTrackAcceleration:(NSInteger)acceleration·onAxis:(DJIGimbalAxis)axis·withCompletion:(DJICompletionBlock)block; |
| 682 | | 1103 | |
| 683 | /** | 1104 | /** |
| 684 | ·*··Gets·joystick·smoothing·on·an·axis.·Joystick·smoothing·controls·the·deceleration·of·the·gimbal.·A·small·value·will·cause·the·gimbal·to·stop·abruptly.·Smoothing·has·a·range·of·[0,30]. | 1105 | ·*··Gets·SmoothTrack·acceleration·on·an·axis.·Acceleration·determines·how·closely·the·camera·will·follow·the·translated·yaw·handle·movement. |
| | 1106 | ·*··Use·`DJIGimbalKeySmoothTrackAccelerationPitch`·and·`DJIGimbalKeySmoothTrackAccelerationYaw`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·the·range·of·possible·values·(unitless). |
| 685 | ·* | 1107 | ·* |
| 686 | ·*··@param·axis·Gimbal·Joystick·Direction. | 1108 | ·*··@param·axis·····The·axis·to·query. |
| 687 | ·*··@param·block·get·Gimbal·Joystick·Smoothing·in·specific·direction·result·block. | 1109 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 688 | ·*/ | 1110 | ·*/ |
| | 1111 | -·(void)getSmoothTrackAccelerationOnAxis:(DJIGimbalAxis)axis·withCompletion:(void·(^_Nonnull)(NSInteger·acceleration,·NSError·*_Nullable·error))block; |
| 689 | | 1112 | |
| 690 | -·(void)getGimbalJoystickSmoothingOnAxis:(DJIGimbalJoystickAxis)axis·withCompletion:(void·(^)(NSInteger·smoothing,·BOOL·success))block; | 1113 | /*********************************************************************************/ |
| | 1114 | #pragma·mark·Gimbal·Endpoint·Setting |
| | 1115 | /*********************************************************************************/ |
| 691 | | 1116 | |
| 692 | /** | 1117 | /** |
| 693 | ·*··Sets·joystick·speed·on·an·axis.·Speed·has·a·range·of·[0,100]. | 1118 | ·*··Endpoint·settings·determine·the·farthest·points·to·which·the·gimbal·will·rotate·during·manual·controller·input. |
| | 1119 | ·*··Only·supported·by·Ronin-MX. |
| | 1120 | ·*··Use·`DJIGimbalKeyEndpointPitchUp`,·`DJIGimbalKeyEndpointPitchDown`,·`DJIGimbalKeyEndpointYawLeft`·and·`DJIGimbalKeyEndpointYawRight`·in·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature·and·what·the·valid·range·of·enpoints·are. |
| 694 | ·* | 1121 | ·* |
| 695 | ·*··@param·axis·Gimbal·axis. | 1122 | ·*··@param·endpoint·····The·endpoint·value·to·set. |
| 696 | ·*··@param·speed·Joystick·speed·[0,100]. | 1123 | ·*··@param·direction····The·endpoint·direction. |
| 697 | ·*··@param·block·set·Gimbal·Joystick·Speed·in·specific·direction·result·block. | 1124 | ·*··@param·block········The·completion·block·that·receives·execution·result. |
| 698 | ·*/ | 1125 | ·*/ |
| | 1126 | -·(void)setEndpoint:(NSInteger)endpoint·inDirection:(DJIGimbalEndpointDirection)direction·withCompletion:(DJICompletionBlock)block; |
| | 1127 | /** |
| | 1128 | ·*··Gets·the·farthest·points·to·which·the·gimbal·will·rotate·during·manual·controller·input. |
| | 1129 | ·*··Only·supported·by·Ronin-MX. |
| | 1130 | ·*··Use·`DJIGimbalKeyEndpointPitchUp`,·`DJIGimbalKeyEndpointPitchDown`,·`DJIGimbalKeyEndpointYawLeft`·and·`DJIGimbalKeyEndpointYawRight`·with·`gimbalCapability`·to·check·if·the·gimbal·supports·this·feature. |
| | 1131 | ·* |
| | 1132 | ·*··@param·direction····The·endpoint·direction. |
| | 1133 | ·*··@param·block········The·completion·block·that·receives·execution·result. |
| | 1134 | ·*/-·(void)getEndpointInDirection:(DJIGimbalEndpointDirection)direction·withCompletion:(void·(^_Nonnull)(NSInteger·endpoint,·NSError·*_Nullable·error))block; |
| 699 | | 1135 | |
| 700 | -·(void)setGimbalJoystickSpeedOnAxis:(DJIGimbalJoystickAxis)axis·speed:(NSInteger)speed·withCompletion:(DJICompletionBlock)block; | 1136 | /*********************************************************************************/ |
| | 1137 | #pragma·mark·Others |
| | 1138 | /*********************************************************************************/ |
| 701 | | 1139 | |
| 702 | /** | 1140 | /** |
| 703 | ·*··Gets·joystick·speed·on·an·axis.·Speed·has·a·range·of·[0,100]. | 1141 | ·*··Allows·the·camera·to·be·mounted·in·the·upright·position·(on·top·of·the·aircraft·instead·of·underneath). |
| | 1142 | ·*··Only·supported·by·Ronin-MX. |
| 704 | ·* | 1143 | ·* |
| 705 | ·*··@param·axis·Gimbal·Joystick·Direction. | 1144 | ·*··@param·enabled··`YES`·to·allow·the·camera·to·be·upright. |
| 706 | ·*··@param·block·get·Gimbal·Joystick·Speed·in·specific·direction·result·block. | 1145 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| 707 | ·*/ | 1146 | ·*/ |
| | 1147 | -·(void)setCameraUprightEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)block; |
| | 1148 | /** |
| | 1149 | ·*··Gets·if·the·camera·is·allowed·to·be·in·the·upright·position. |
| | 1150 | ·*··Only·supported·by·Ronin-MX. |
| | 1151 | ·* |
| | 1152 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1153 | ·*/ |
| | 1154 | -·(void)getCameraUprightEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))block; |
| 708 | | 1155 | |
| 709 | -·(void)getGimbalJoystickSpeedOnAxis:(DJIGimbalJoystickAxis)axis·withCompletion:(void·(^)(NSInteger·speed,·BOOL·success))block; | 1156 | /** |
| | 1157 | ·*··Turns·on·and·off·the·gimbal·motors.·`NO`·means·the·gimbal·power·remains·on,·however·the·motors·will·not·work. |
| | 1158 | ·*··Only·supported·by·Ronin-MX. |
| | 1159 | ·* |
| | 1160 | ·*··@param·enabled··`YES`·to·enable·the·motor. |
| | 1161 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1162 | ·*/ |
| | 1163 | -·(void)setMotorEnabled:(BOOL)enabled·withCompletion:(DJICompletionBlock)block; |
| | 1164 | /** |
| | 1165 | ·*··Gets·if·the·gimbal·motors·are·enabled·to·work·or·not.·Only·supported·by·Ronin-MX. |
| | 1166 | ·* |
| | 1167 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1168 | ·*/ |
| | 1169 | -·(void)getMotorEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))block; |
| | 1170 | |
| | 1171 | /** |
| | 1172 | ·*··Resets·gimbal·position·to·selfie·setup.·If·the·gimbal·yaw·is·not·at·180·degrees,·then·calling·this·method·will·rotate·the·gimbal·yaw·to·180·degrees·(effectively·pointing·the·camera·to·the·person·holding·the·gimbal).·If·the·gimbal·yaw·is·at·180·degrees,·then·the·gimbal·will·rotate·in·yaw·to·0·degrees. |
| | 1173 | ·*··Only·supported·by·Osmo. |
| | 1174 | ·* |
| | 1175 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1176 | ·*/ |
| | 1177 | -·(void)toggleGimbalSelfieWithCompletion:(DJICompletionBlock)block; |
| | 1178 | |
| | 1179 | /** |
| | 1180 | ·*··Sets·the·gimbal's·controller·mode. |
| | 1181 | ·*··The·control·mode·for·the·gimbal·controller·(joystick·for·Osmo).·The·total·controller·deflection |
| | 1182 | ·*··is·a·combination·of·horizontal·and·vertical·deflection.·This·translates·to·gimbal·movement·around·the·yaw·and·pitch·axes. |
| | 1183 | ·*··The·gimbal·can·be·set·to·either·move·in·both·yaw·and·pitch·simultaneously·based·on·horizontal·and·vertical·deflection·of·the·controller,·or |
| | 1184 | ·*··move·in·only·yaw·or·pitch·exclusively·based·on·whether·horizontal·or·vertical·deflection·is·larger. |
| | 1185 | ·*··Only·supported·by·Osmo. |
| | 1186 | ·* |
| | 1187 | ·*··@param·controlMode··The·stick·control·mode·to·set. |
| | 1188 | ·*··@param·block········The·completion·block·that·receives·execution·result. |
| | 1189 | ·*/ |
| | 1190 | -·(void)setGimbalControllerMode:(DJIGimbalControllerMode)controlMode·withCompletion:(DJICompletionBlock)block; |
| | 1191 | |
| | 1192 | /** |
| | 1193 | ·*··Gets·the·gimbal's·controller·mode.· |
| | 1194 | ·*··Only·supported·by·Osmo. |
| | 1195 | ·* |
| | 1196 | ·*··@param·block····The·completion·block·that·receives·execution·result. |
| | 1197 | ·*/ |
| | 1198 | -·(void)getGimbalControllerModeWithCompletion:(void·(^_Nonnull)(DJIGimbalControllerMode·controlMode,·NSError*·_Nullable·error))block; |
| 710 | | 1199 | |
| 711 | @end | 1200 | @end |
| | 1201 | |
| 712 | NS_ASSUME_NONNULL_END | 1202 | NS_ASSUME_NONNULL_END |
| diff --git a/Headers/DJIGimbalAttitudeStep.h b/Headers/DJIGimbalAttitudeStep.h
|
| index 5777090..7e5d250 100644
|
| 3.1.1/Headers/DJIGimbalAttitudeStep.h | 3.2/Headers/DJIGimbalAttitudeStep.h |
| ⋮ | ⋮ |
| 10 | NS_ASSUME_NONNULL_BEGIN | 10 | NS_ASSUME_NONNULL_BEGIN |
| 11 | | 11 | |
| 12 | /** | 12 | /** |
| 13 | ·*··Subclass·of·`DJIMission`.·You·can·control·the·gimbal·attitude·using·this·mission·step. | 13 | ·*··Subclass·of·`DJIMissionStep`.·You·can·control·the·gimbal·attitude·using·this·mission·step. |
| 14 | ·* | 14 | ·* |
| 15 | ·*/ | 15 | ·*/ |
| 16 | @interface·DJIGimbalAttitudeStep·:·DJIMissionStep | 16 | @interface·DJIGimbalAttitudeStep·:·DJIMissionStep |
| diff --git a/Headers/DJIHandheld.h b/Headers/DJIHandheld.h
|
| index 8cc5917..bc8a800 100644
|
| 3.1.1/Headers/DJIHandheld.h | 3.2/Headers/DJIHandheld.h |
| ⋮ | ⋮ |
| 28 | extern·NSString·*const·DJIHandheldModelNameOsmo; | 28 | extern·NSString·*const·DJIHandheldModelNameOsmo; |
| 29 | | 29 | |
| 30 | /** | 30 | /** |
| | 31 | ·*··Handheld·device·model·name·Osmo·Pro. |
| | 32 | ·*/ |
| | 33 | extern·NSString·*const·DJIHandheldModelNameOsmoPro; |
| | 34 | |
| | 35 | /** |
| 31 | ·* | 36 | ·* |
| 32 | ·*··This·class·contains·the·components·of·a·handheld·device. | 37 | ·*··This·class·contains·the·components·of·a·handheld·device. |
| 33 | ·*/ | 38 | ·*/ |
| diff --git a/Headers/DJIHandheldController.h b/Headers/DJIHandheldController.h
|
| index ff35f9e..e6a3ce1 100644
|
| 3.1.1/Headers/DJIHandheldController.h | 3.2/Headers/DJIHandheldController.h |
| ⋮ | ⋮ |
| 12 | | 12 | |
| 13 | NS_ASSUME_NONNULL_BEGIN | 13 | NS_ASSUME_NONNULL_BEGIN |
| 14 | | 14 | |
| 15 | //----------------------------------------------------------------- | 15 | /*********************************************************************************/ |
| 16 | #pragma·mark·DJIHandheldWiFiFrequency·Type | 16 | #pragma·mark·DJIHandheldWiFiFrequency·Type |
| 17 | //----------------------------------------------------------------- | 17 | /*********************************************************************************/ |
| | 18 | |
| 18 | /** | 19 | /** |
| 19 | ·*··Handheld·WiFi·Frequency·Type. | 20 | ·*··Handheld·WiFi·Frequency·Type. |
| 20 | ·*/ | 21 | ·*/ |
| ⋮ | ⋮ |
| 80 | ·*··@param·powerMode····The·handheld·controller's·current·power·mode. | 81 | ·*··@param·powerMode····The·handheld·controller's·current·power·mode. |
| 81 | ·* | 82 | ·* |
| 82 | ·*/ | 83 | ·*/ |
| 83 | -·(void)handheldController:(DJIHandheldController·*)controller·didUpdatePowerMode:(DJIHandheldPowerMode)powerMode; | 84 | -·(void)handheldController:(DJIHandheldController·*_Nonnull)controller·didUpdatePowerMode:(DJIHandheldPowerMode)powerMode; |
| 84 | | 85 | |
| 85 | @end | 86 | @end |
| 86 | | 87 | |
| diff --git a/Headers/DJIIMUState.h b/Headers/DJIIMUState.h
|
| index 6569c07..e6f0f54 100644
|
| 3.1.1/Headers/DJIIMUState.h | 3.2/Headers/DJIIMUState.h |
| ⋮ | ⋮ |
| 84 | ···· | 84 | ···· |
| 85 | }; | 85 | }; |
| 86 | | 86 | |
| 87 | /************************************************************************** | 87 | /*********************************************************************************/ |
| 88 | ·*******/ | |
| 89 | #pragma·mark·-·DJIInertialMeasurementUnitState | 88 | #pragma·mark·-·DJIInertialMeasurementUnitState |
| 90 | /*********************************************************************************/ | 89 | /*********************************************************************************/ |
| 91 | | 90 | |
| ⋮ | ⋮ |
| 97 | @interface·DJIIMUState·:·NSObject | 96 | @interface·DJIIMUState·:·NSObject |
| 98 | | 97 | |
| 99 | /** | 98 | /** |
| 100 | ·*··The·ID·of·IMU. | 99 | ·*··The·ID·of·IMU.·It·is·started·from·0. |
| 101 | ·*/ | 100 | ·*/ |
| 102 | @property(nonatomic,·readonly)·NSUInteger·imuID; | 101 | @property(nonatomic,·readonly)·NSUInteger·imuID; |
| 103 | | 102 | |
| diff --git a/Headers/DJIIntelligentFlightAssistant.h b/Headers/DJIIntelligentFlightAssistant.h
|
| index 7b72d9c..1284690 100644
|
| 3.1.1/Headers/DJIIntelligentFlightAssistant.h | 3.2/Headers/DJIIntelligentFlightAssistant.h |
| ⋮ | ⋮ |
| 105 | /** | 105 | /** |
| 106 | ·*··The·vision·system·can·see·infront·of·the·aircraft·with·a·70·degree·horizontal·field·of·view·(FOV)·and·55·degree·veritcal·FOV·for·the·Phantom·4.·The·horizontal·FOV·is·split·into·four·equal·sectors·and·this·array·contains·the·distance·and·warning·information·for·each·sector.·For·Phantom·4,·the·horizontal·FOV·is·separated·into·4·sectors. | 106 | ·*··The·vision·system·can·see·infront·of·the·aircraft·with·a·70·degree·horizontal·field·of·view·(FOV)·and·55·degree·veritcal·FOV·for·the·Phantom·4.·The·horizontal·FOV·is·split·into·four·equal·sectors·and·this·array·contains·the·distance·and·warning·information·for·each·sector.·For·Phantom·4,·the·horizontal·FOV·is·separated·into·4·sectors. |
| 107 | ·*/ | 107 | ·*/ |
| 108 | @property(nonatomic,·readonly)·NSArray*·detectionSectors; | 108 | @property(nonatomic,·readonly)·NSArray·*_Nonnull·detectionSectors; |
| 109 | | 109 | |
| 110 | @end | 110 | @end |
| 111 | | 111 | |
| ⋮ | ⋮ |
| 121 | /** | 121 | /** |
| 122 | ·*··Callback·function·that·updates·the·vision·detection·state.·The·frequency·of·this·method·is·10Hz. | 122 | ·*··Callback·function·that·updates·the·vision·detection·state.·The·frequency·of·this·method·is·10Hz. |
| 123 | ·*/ | 123 | ·*/ |
| 124 | -(void)·intelligentFlightAssistant:(DJIIntelligentFlightAssistant*)assistant·didUpdateVisionDetectionState:(DJIVisionDetectionState*)state; | 124 | -(void)·intelligentFlightAssistant:(DJIIntelligentFlightAssistant*·_Nonnull)assistant·didUpdateVisionDetectionState:(DJIVisionDetectionState*·_Nonnull)state; |
| 125 | | 125 | |
| 126 | @end | 126 | @end |
| 127 | | 127 | |
| ⋮ | ⋮ |
| 143 | /** | 143 | /** |
| 144 | ·*··Get·collision·avoidance·enabled. | 144 | ·*··Get·collision·avoidance·enabled. |
| 145 | ·*/ | 145 | ·*/ |
| 146 | -(void)·getCollisionAvoidanceEnabledWithCompletion:(void(^)(BOOL·enable,·NSError*·_Nullable·error))completion; | 146 | -(void)·getCollisionAvoidanceEnabledWithCompletion:(void(^_Nonnull)(BOOL·enable,·NSError*·_Nullable·error))completion; |
| 147 | | 147 | |
| 148 | /** | 148 | /** |
| 149 | ·*··Set·vision·positioning·enabled.·Vision·positioning·is·used·to·augment·GPS·to·improve·location·accuracy·when·hovering·and·improve·velocity·calculation·when·flying. | 149 | ·*··Set·vision·positioning·enabled.·Vision·positioning·is·used·to·augment·GPS·to·improve·location·accuracy·when·hovering·and·improve·velocity·calculation·when·flying. |
| ⋮ | ⋮ |
| 153 | /** | 153 | /** |
| 154 | ·*··Get·vision·position·enable. | 154 | ·*··Get·vision·position·enable. |
| 155 | ·*/ | 155 | ·*/ |
| 156 | -(void)·getVisionPositioningEnabledWithCompletion:(void(^)(BOOL·enable,·NSError*·_Nullable·error))completion; | 156 | -(void)·getVisionPositioningEnabledWithCompletion:(void(^_Nonnull)(BOOL·enable,·NSError*·_Nullable·error))completion; |
| 157 | | 157 | |
| 158 | @end | 158 | @end |
| 159 | | 159 | |
| diff --git a/Headers/DJILBAirLink.h b/Headers/DJILBAirLink.h
|
| index 8fc2fa9..e584ab9 100644
|
| 3.1.1/Headers/DJILBAirLink.h | 3.2/Headers/DJILBAirLink.h |
| ⋮ | ⋮ |
| 216 | ····int8_t·rssi[DJI_LBAIRLINK_SUPPORTED_CHANNEL_COUNT]; | 216 | ····int8_t·rssi[DJI_LBAIRLINK_SUPPORTED_CHANNEL_COUNT]; |
| 217 | }·DJILBAirLinkAllChannelSignalStrengths; | 217 | }·DJILBAirLinkAllChannelSignalStrengths; |
| 218 | | 218 | |
| | 219 | /** |
| | 220 | ·*··The·video·source·for·the·delegate·method·`-·(void)lbAirLink:(DJILBAirLink·*_Nonnull)lbAirLink·didReceiveVideoData:(NSData·*)data`·in·`DJILBAirLinkDelegate`·and·`DJICameraDelegate`. |
| | 221 | ·*/ |
| | 222 | typedef·NS_ENUM·(uint8_t,·DJIVideoDataChannel)·{ |
| | 223 | ····/** |
| | 224 | ·····*··Video·from·AV·or·HDMI·is·received·by·the·delegate·method.· |
| | 225 | ·····*··It·can·only·be·set·when·the·encode·mode·is·`DJILBAirLinkEncodeModeSingle`·and·the·FPV·video·bandwidth·percent·is·non-zero.· |
| | 226 | ·····*··When·the·encode·mode·is·`DJILBAirLinkEncodeModeSingle`·and·the·FPV·video·bandwidth·percent·is·100%,·the·video·data·channel·will·be·set·to·`DJIVideoDataChannelFPVCamera`·automatically. |
| | 227 | ·····*/ |
| | 228 | ····DJIVideoDataChannelFPVCamera, |
| | 229 | ····/** |
| | 230 | ·····*··Video·from·HD·Gimbal·is·received·by·the·delegate·method. |
| | 231 | ·····*··It·can·only·be·set·when·the·encode·mode·is·`DJILBAirLinkEncodeModeSingle`·and·the·FPV·video·bandwidth·percent·is·not·100%.· |
| | 232 | ·····*··When·the·encode·mode·is·`DJILBAirLinkEncodeModeSingle`·and·the·FPV·video·bandwidth·percent·is·0%,·the·video·data·channel·will·be·set·to·`DJIVideoDataChannelHDGimbal`·automatically. |
| | 233 | ·····*/ |
| | 234 | ····DJIVideoDataChannelHDGimbal, |
| | 235 | ····/** |
| | 236 | ·····*··Video·from·HDMI·is·received·by·the·delegate·method. |
| | 237 | ·····*··It·can·only·be·set·when·the·encode·mode·is·`DJILBAirLinkEncodeModeDual`·and·the·dual·encode·mode·percent·is·not·0%. |
| | 238 | ·····*··When·the·encode·mode·is·`DJILBAirLinkEncodeModeDual`·and·the·dual·encode·mode·percent·is·100%,·the·video·data·channel·will·be·set·to·`DJIVideoDataChannelHDMI`·automatically. |
| | 239 | ·····*/ |
| | 240 | ····DJIVideoDataChannelHDMI, |
| | 241 | ····/** |
| | 242 | ·····*··Video·from·AV·is·received·by·the·delegate·method. |
| | 243 | ·····*··It·can·only·be·set·when·the·encode·mode·is·`DJILBAirLinkEncodeModeDual`·and·the·dual·encode·mode·percent·is·not·100%. |
| | 244 | ·····*··When·the·encode·mode·is·`DJILBAirLinkEncodeModeDual`·and·the·dual·encode·mode·percent·is·0%,·the·video·data·channel·will·be·set·to·`DJIVideoDataChannelAV`·automatically. |
| | 245 | ·····*/ |
| | 246 | ····DJIVideoDataChannelAV, |
| | 247 | ····/** |
| | 248 | ·····*··Unknown |
| | 249 | ·····*/ |
| | 250 | ····DJIVideoDataChannelUnknown·=·0xFF |
| | 251 | }; |
| | 252 | |
| | 253 | /** |
| | 254 | ·*··Lightbridge·2·encode·mode. |
| | 255 | ·*/ |
| | 256 | typedef·NS_ENUM·(uint8_t,·DJILBAirLinkEncodeMode)·{ |
| | 257 | ····/** |
| | 258 | ·····*··Single·encode·mode.·Lightbridge·2·will·only·encode·the·video·input·from·either·the·AV·port·or·the·HDMI·port. |
| | 259 | ·····*/ |
| | 260 | ····DJILBAirLinkEncodeModeSingle, |
| | 261 | ····/** |
| | 262 | ·····*··Dual·encode·mode.·Lightbridge·2·will·encode·the·video·input·from·both·the·AV·port·and·the·HDMI·port. |
| | 263 | ·····*/ |
| | 264 | ····DJILBAirLinkEncodeModeDual, |
| | 265 | ····/** |
| | 266 | ·····*··Unknown |
| | 267 | ·····*/ |
| | 268 | ····DJILBAirLinkEncodeModeUnknown·=·0xFF |
| | 269 | }; |
| | 270 | |
| 219 | /*********************************************************************************/ | 271 | /*********************************************************************************/ |
| 220 | #pragma·mark·-·DJILBAirLinkDelegate | 272 | #pragma·mark·-·DJILBAirLinkDelegate |
| 221 | /*********************************************************************************/ | 273 | /*********************************************************************************/ |
| ⋮ | ⋮ |
| 286 | @property(nonatomic,·weak)·id<DJILBAirLinkDelegate>·delegate; | 338 | @property(nonatomic,·weak)·id<DJILBAirLinkDelegate>·delegate; |
| 287 | | 339 | |
| 288 | /** | 340 | /** |
| | 341 | ·*··Selects·the·video·data·which·will·be·received·by·the·video·data·`-·(void)lbAirLink:(DJILBAirLink·*_Nonnull)lbAirLink·didReceiveVideoData:(NSData·*)data`·in·`DJILBAirLinkDelegate`·and·`DJICameraDelegate`. |
| | 342 | ·* |
| | 343 | ·*··@param·videoDataChannel·The·video·source·that·streams·data·to·the·delegate·method.· |
| | 344 | ·*··@param·completion·······Completion·block·that·receives·the·execution·result. |
| | 345 | ·*/ |
| | 346 | -(void)setVideoDataChannel:(DJIVideoDataChannel)videoDataChannel·withCompletion:(DJICompletionBlock)completion; |
| | 347 | |
| | 348 | /** |
| | 349 | ·*··Gets·the·selected·video·data·which·will·be·received·by·the·video·data·`-·(void)lbAirLink:(DJILBAirLink·*_Nonnull)lbAirLink·didReceiveVideoData:(NSData·*)data`·in·`DJILBAirLinkDelegate`·and·`DJICameraDelegate`. |
| | 350 | ·* |
| | 351 | ·*··@param·completion···Completion·block·that·receives·the·execution·result. |
| | 352 | ·*/ |
| | 353 | -(void)getVideoDataChannelWithCompletion:(void(^_Nonnull)(DJIVideoDataChannel·videoChannel,·NSError·*_Nullable·error))completion; |
| | 354 | |
| | 355 | /** |
| 289 | ·*··Sets·the·downlink·channel·selection·mode·(automatic·or·manual). | 356 | ·*··Sets·the·downlink·channel·selection·mode·(automatic·or·manual). |
| 290 | ·* | 357 | ·* |
| 291 | ·*··@param·mode·······Channel·selection·mode·for·`LBAirLink`. | 358 | ·*··@param·mode·······Channel·selection·mode·for·`LBAirLink`. |
| ⋮ | ⋮ |
| 298 | ·* | 365 | ·* |
| 299 | ·*··@param·completion·Completion·block. | 366 | ·*··@param·completion·Completion·block. |
| 300 | ·*/ | 367 | ·*/ |
| 301 | -·(void)getChannelSelectionModeWithCompletion:(void·(^_Nullable)(DJILBAirLinkChannelSelectionMode·mode,·NSError·*_Nullable·error))completion; | 368 | -·(void)getChannelSelectionModeWithCompletion:(void·(^_Nonnull)(DJILBAirLinkChannelSelectionMode·mode,·NSError·*_Nullable·error))completion; |
| 302 | | 369 | |
| 303 | /** | 370 | /** |
| 304 | ·*··Sets·fixed·downlink·channel.·Channel·selection·mode·should·be·set·to·`DJILBAirLinkChannelSelectionModeManual`. | 371 | ·*··Sets·fixed·downlink·channel.·Channel·selection·mode·should·be·set·to·`DJILBAirLinkChannelSelectionModeManual`. |
| ⋮ | ⋮ |
| 315 | ·* | 382 | ·* |
| 316 | ·*··@param·completion·Completion·block. | 383 | ·*··@param·completion·Completion·block. |
| 317 | ·*/ | 384 | ·*/ |
| 318 | -·(void)getChannelWithCompletion:(void·(^_Nullable)(int·channel,·NSError·*_Nullable·error))completion; | 385 | -·(void)getChannelWithCompletion:(void·(^_Nonnull)(int·channel,·NSError·*_Nullable·error))completion; |
| 319 | | 386 | |
| 320 | /** | 387 | /** |
| 321 | ·*··Sets·the·downlink·data·rate·(throughput).·Higher·data·rates·increase·the·quality·of·video·transmission,·but·can·only·be·used·at·shorter·ranges. | 388 | ·*··Sets·the·downlink·data·rate·(throughput).·Higher·data·rates·increase·the·quality·of·video·transmission,·but·can·only·be·used·at·shorter·ranges. |
| ⋮ | ⋮ |
| 330 | ·* | 397 | ·* |
| 331 | ·*··@param·completion·Completion·block. | 398 | ·*··@param·completion·Completion·block. |
| 332 | ·*/ | 399 | ·*/ |
| 333 | -·(void)getDataRateWithCompletion:(void·(^_Nullable)(DJILBAirLinkDataRate·rate,·NSError·*_Nullable·error))completion; | 400 | -·(void)getDataRateWithCompletion:(void·(^_Nonnull)(DJILBAirLinkDataRate·rate,·NSError·*_Nullable·error))completion; |
| 334 | | 401 | |
| 335 | /** | 402 | /** |
| 336 | ·*··Sets·FPV·video·quality·vs·latency·preference.·This·mode·only·effects·the·FPV·camera·and·not·the·camera·on·the·HD·Gimbal. | 403 | ·*··Sets·FPV·video·quality·vs·latency·preference.·This·mode·only·effects·the·FPV·camera·and·not·the·camera·on·the·HD·Gimbal. |
| ⋮ | ⋮ |
| 345 | ·* | 412 | ·* |
| 346 | ·*··@param·completion·Completion·block. | 413 | ·*··@param·completion·Completion·block. |
| 347 | ·*/ | 414 | ·*/ |
| 348 | -·(void)getFPVQualityLatencyWithCompletion:(void·(^_Nullable)(DJILBAirLinkFPVVideoQualityLatency·qualityLatency,·NSError·*_Nullable·error))completion; | 415 | -·(void)getFPVQualityLatencyWithCompletion:(void·(^_Nonnull)(DJILBAirLinkFPVVideoQualityLatency·qualityLatency,·NSError·*_Nullable·error))completion; |
| 349 | | 416 | |
| 350 | /** | 417 | /** |
| 351 | ·*··Sets·the·percentage·downlink·video·bandwidth·dedicated·to·the·FPV·camera.·The·remaining·percentage·is·dedicated·to·the·camera·on·the·HD·Gimbal.·Setting·100%·dedicates·all·the·video·bandwidth·to·FPV. | 418 | ·*··Sets·the·percentage·downlink·video·bandwidth·dedicated·to·the·FPV·camera.·The·remaining·percentage·is·dedicated·to·the·camera·on·the·HD·Gimbal.·Setting·100%·dedicates·all·the·video·bandwidth·to·FPV. |
| ⋮ | ⋮ |
| 359 | ·*··Gets·the·percentage·downlink·video·bandwidth·dedicated·to·the·FPV·camera.·The·remaining·percentage·is·dedicated·to·the·camera·on·the·HD·Gimbal.·Setting·100%·dedicates·all·the·video·bandwidth·to·FPV. | 426 | ·*··Gets·the·percentage·downlink·video·bandwidth·dedicated·to·the·FPV·camera.·The·remaining·percentage·is·dedicated·to·the·camera·on·the·HD·Gimbal.·Setting·100%·dedicates·all·the·video·bandwidth·to·FPV. |
| 360 | ·* | 427 | ·* |
| 361 | ·*/ | 428 | ·*/ |
| 362 | -·(void)getFPVVideoBandwidthPercentWithCompletion:(void·(^_Nullable)(float·percent,·NSError·*_Nullable·error))completion; | 429 | -·(void)getFPVVideoBandwidthPercentWithCompletion:(void·(^_Nonnull)(float·percent,·NSError·*_Nullable·error))completion; |
| 363 | | 430 | |
| 364 | | 431 | |
| 365 | /*********************************************************************************/ | 432 | /*********************************************************************************/ |
| ⋮ | ⋮ |
| 386 | ·* | 453 | ·* |
| 387 | ·*··@param·completion·Completion·block. | 454 | ·*··@param·completion·Completion·block. |
| 388 | ·*/ | 455 | ·*/ |
| 389 | -·(void)getSecondaryVideoOutputEnabledWithCompletion:(void·(^_Nullable)(BOOL·enabled,·NSError·*_Nullable·error))completion; | 456 | -·(void)getSecondaryVideoOutputEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))completion; |
| 390 | | 457 | |
| 391 | /** | 458 | /** |
| 392 | ·*··Sets·secondary·video·output·port·on·Remote·Controller.·HDMI·or·SDI·are·possible.·Only·one·port·can·be·active·at·once. | 459 | ·*··Sets·secondary·video·output·port·on·Remote·Controller.·HDMI·or·SDI·are·possible.·Only·one·port·can·be·active·at·once. |
| ⋮ | ⋮ |
| 401 | ·* | 468 | ·* |
| 402 | ·*··@param·completion·Completion·block. | 469 | ·*··@param·completion·Completion·block. |
| 403 | ·*/ | 470 | ·*/ |
| 404 | -·(void)getSecondaryVideoOutputPortWithCompletion:(void·(^_Nullable)(DJILBAirLinkSecondaryVideoOutputPort·port,·NSError·*_Nullable·error))completion; | 471 | -·(void)getSecondaryVideoOutputPortWithCompletion:(void·(^_Nonnull)(DJILBAirLinkSecondaryVideoOutputPort·port,·NSError·*_Nullable·error))completion; |
| 405 | | 472 | |
| 406 | /** | 473 | /** |
| 407 | ·*··Sets·the·secondary·video·output·Picture·in·Picture·(PIP)·display·mode.·The·air·link·module·can·connect·to·both·an·FPV·camera·(through·the·HDMI·and·AV·ports)·and·a·camera·mounted·on·the·HD·Gimbal·(through·the·Gimbal·port).·The·output·video·can·then·be·a·combination·of·the·two·video·sources.·Either·a·single·video·source·can·be·displayed,·or·one·can·be·displayed·within·the·other·(as·a·Picture·in·Picture,·or·PIP).·If·the·mode·is·set·incorrectly,·then·no·output·video·will·be·displayed.·For·example,·if·only·a·FPV·camera·is·connected,·or·the·bandwidth·for·the·'LB'·data·(FPV)·is·set·to·100·percent,·the·only·mode·that·will·display·data·is·the·`DJILBAirLinkPIPModeLB`. | 474 | ·*··Sets·the·secondary·video·output·Picture·in·Picture·(PIP)·display·mode.·The·air·link·module·can·connect·to·both·an·FPV·camera·(through·the·HDMI·and·AV·ports)·and·a·camera·mounted·on·the·HD·Gimbal·(through·the·Gimbal·port).·The·output·video·can·then·be·a·combination·of·the·two·video·sources.·Either·a·single·video·source·can·be·displayed,·or·one·can·be·displayed·within·the·other·(as·a·Picture·in·Picture,·or·PIP).·If·the·mode·is·set·incorrectly,·then·no·output·video·will·be·displayed.·For·example,·if·only·a·FPV·camera·is·connected,·or·the·bandwidth·for·the·'LB'·data·(FPV)·is·set·to·100·percent,·the·only·mode·that·will·display·data·is·the·`DJILBAirLinkPIPModeLB`. |
| ⋮ | ⋮ |
| 418 | ·*··@param·completion·Completion·block. | 485 | ·*··@param·completion·Completion·block. |
| 419 | ·* | 486 | ·* |
| 420 | ·*/ | 487 | ·*/ |
| 421 | -·(void)getPIPDisplayWithCompletion:(void·(^_Nullable)(DJILBAirLinkPIPDisplayMode·pipDisplay,·NSError·*_Nullable·error))completion; | 488 | -·(void)getPIPDisplayWithCompletion:(void·(^_Nonnull)(DJILBAirLinkPIPDisplayMode·pipDisplay,·NSError·*_Nullable·error))completion; |
| 422 | | 489 | |
| 423 | /** | 490 | /** |
| 424 | ·*··Enables·and·disables·On·Screen·Display·(OSD)·overlay·on·the·secondary·video.·OSD·is·flight·data·like·altitude,·attitude·etc.·and·can·be·overlayed·on·the·PIP·video. | 491 | ·*··Enables·and·disables·On·Screen·Display·(OSD)·overlay·on·the·secondary·video.·OSD·is·flight·data·like·altitude,·attitude·etc.·and·can·be·overlayed·on·the·PIP·video. |
| ⋮ | ⋮ |
| 435 | ·*··@param·completion·Completion·block. | 502 | ·*··@param·completion·Completion·block. |
| 436 | ·* | 503 | ·* |
| 437 | ·*/ | 504 | ·*/ |
| 438 | -·(void)getDisplayOSDEnabledWithCompletion:(void·(^_Nullable)(BOOL·enabled,·NSError·*_Nullable·error))completion; | 505 | -·(void)getDisplayOSDEnabledWithCompletion:(void·(^_Nonnull)(BOOL·enabled,·NSError·*_Nullable·error))completion; |
| 439 | | 506 | |
| 440 | /** | 507 | /** |
| 441 | ·*··Sets·the·OSD·top·margin·in·video·pixels. | 508 | ·*··Sets·the·OSD·top·margin·in·video·pixels. |
| ⋮ | ⋮ |
| 452 | ·*··@param·completion·Completion·block. | 519 | ·*··@param·completion·Completion·block. |
| 453 | ·* | 520 | ·* |
| 454 | ·*/ | 521 | ·*/ |
| 455 | -·(void)getOSDTopMarginWithCompletion:(void·(^_Nullable)(NSUInteger·margin,·NSError·*_Nullable·error))completion; | 522 | -·(void)getOSDTopMarginWithCompletion:(void·(^_Nonnull)(NSUInteger·margin,·NSError·*_Nullable·error))completion; |
| 456 | | 523 | |
| 457 | /** | 524 | /** |
| 458 | ·*··Sets·the·OSD·left·margin·in·video·pixels. | 525 | ·*··Sets·the·OSD·left·margin·in·video·pixels. |
| ⋮ | ⋮ |
| 469 | ·*··@param·completion·Completion·block. | 536 | ·*··@param·completion·Completion·block. |
| 470 | ·* | 537 | ·* |
| 471 | ·*/ | 538 | ·*/ |
| 472 | -·(void)getOSDLeftMarginWithCompletion:(void·(^_Nullable)(NSUInteger·margin,·NSError·*_Nullable·error))completion; | 539 | -·(void)getOSDLeftMarginWithCompletion:(void·(^_Nonnull)(NSUInteger·margin,·NSError·*_Nullable·error))completion; |
| 473 | | 540 | |
| 474 | /** | 541 | /** |
| 475 | ·*··Sets·the·OSD·bottom·margin·in·video·pixels. | 542 | ·*··Sets·the·OSD·bottom·margin·in·video·pixels. |
| ⋮ | ⋮ |
| 486 | ·*··@param·completion·Completion·block. | 553 | ·*··@param·completion·Completion·block. |
| 487 | ·* | 554 | ·* |
| 488 | ·*/ | 555 | ·*/ |
| 489 | -·(void)getOSDBottomMarginWithCompletion:(void·(^_Nullable)(NSUInteger·margin,·NSError·*_Nullable·error))completion; | 556 | -·(void)getOSDBottomMarginWithCompletion:(void·(^_Nonnull)(NSUInteger·margin,·NSError·*_Nullable·error))completion; |
| 490 | | 557 | |
| 491 | /** | 558 | /** |
| 492 | ·*··Sets·the·OSD·right·margin·in·video·pixels. | 559 | ·*··Sets·the·OSD·right·margin·in·video·pixels. |
| ⋮ | ⋮ |
| 503 | ·*··@param·completion·Completion·block. | 570 | ·*··@param·completion·Completion·block. |
| 504 | ·* | 571 | ·* |
| 505 | ·*/ | 572 | ·*/ |
| 506 | -·(void)getOSDRightMarginWithCompletion:(void·(^_Nullable)(NSUInteger·margin,·NSError·*_Nullable·error))completion; | 573 | -·(void)getOSDRightMarginWithCompletion:(void·(^_Nonnull)(NSUInteger·margin,·NSError·*_Nullable·error))completion; |
| 507 | | 574 | |
| 508 | /** | 575 | /** |
| 509 | ·*··Sets·the·OSD·units·to·either·metric·or·imperial. | 576 | ·*··Sets·the·OSD·units·to·either·metric·or·imperial. |
| ⋮ | ⋮ |
| 520 | ·*··@param·completion·Completion·block. | 587 | ·*··@param·completion·Completion·block. |
| 521 | ·* | 588 | ·* |
| 522 | ·*/ | 589 | ·*/ |
| 523 | -·(void)getOSDUnitsWithCompletion:(void·(^_Nullable)(DJILBAirLinkOSDUnits·units,·NSError·*_Nullable·error))completion; | 590 | -·(void)getOSDUnitsWithCompletion:(void·(^_Nonnull)(DJILBAirLinkOSDUnits·units,·NSError·*_Nullable·error))completion; |
| 524 | | 591 | |
| 525 | /** | 592 | /** |
| 526 | ·*··Sets·the·Remote·Controller·HDMI·video·port·output·video·format. | 593 | ·*··Sets·the·Remote·Controller·HDMI·video·port·output·video·format. |
| ⋮ | ⋮ |
| 537 | ·*··@param·completion·Completion·block. | 604 | ·*··@param·completion·Completion·block. |
| 538 | ·* | 605 | ·* |
| 539 | ·*/ | 606 | ·*/ |
| 540 | -·(void)getHDMIOutputFormatWithCompletion:(void·(^_Nullable)(DJILBAirLinkSecondaryVideoFormat·format,·NSError·*_Nullable·error))completion; | 607 | -·(void)getHDMIOutputFormatWithCompletion:(void·(^_Nonnull)(DJILBAirLinkSecondaryVideoFormat·format,·NSError·*_Nullable·error))completion; |
| 541 | | 608 | |
| 542 | /** | 609 | /** |
| 543 | ·*··Sets·the·Remote·Controller·SDI·video·port·output·video·format. | 610 | ·*··Sets·the·Remote·Controller·SDI·video·port·output·video·format. |
| ⋮ | ⋮ |
| 554 | ·*··@param·completion·Completion·block. | 621 | ·*··@param·completion·Completion·block. |
| 555 | ·* | 622 | ·* |
| 556 | ·*/ | 623 | ·*/ |
| 557 | -·(void)getSDIOutputFormatWithCompletion:(void·(^_Nullable)(DJILBAirLinkSecondaryVideoFormat·format,·NSError·*_Nullable·error))completion; | 624 | -·(void)getSDIOutputFormatWithCompletion:(void·(^_Nonnull)(DJILBAirLinkSecondaryVideoFormat·format,·NSError·*_Nullable·error))completion; |
| 558 | | 625 | |
| 559 | /** | 626 | /** |
| 560 | ·*··Sets·the·PIP·(Picture·In·Picture)·position·relative·to·the·top·left·corner·of·the·main·subject·video·feed. | 627 | ·*··Sets·the·PIP·(Picture·In·Picture)·position·relative·to·the·top·left·corner·of·the·main·subject·video·feed. |
| ⋮ | ⋮ |
| 572 | ·*··@param·completion·Completion·block. | 639 | ·*··@param·completion·Completion·block. |
| 573 | ·* | 640 | ·* |
| 574 | ·*/ | 641 | ·*/ |
| 575 | -·(void)getPIPPositionWithCompletion:(void·(^_Nullable)(DJILBAirLinkPIPPosition·position,·NSError·*_Nullable·error))completion; | 642 | -·(void)getPIPPositionWithCompletion:(void·(^_Nonnull)(DJILBAirLinkPIPPosition·position,·NSError·*_Nullable·error))completion; |
| | 643 | |
| | 644 | /** |
| | 645 | ·*··`YES`·if·Lightbridge·2·device·supports·dual·encode·mode.·Dual·encode·mode·allows·the·Lightbridge·module·to·encode·and·transmit·both·it's·AV·and·HDMI·inputs·simultaneously. |
| | 646 | ·*/ |
| | 647 | -(BOOL)·isDualEncodeModeSupported; |
| | 648 | |
| | 649 | /** |
| | 650 | ·*··Sets·Lightbridge·2·encode·mode.·It·is·only·available·when·`isDualEncodeModeSupported`·returns·`YES`.·For·Lightbridge·2·modules·that·don't·support·dual·encode·mode,·the·encode·mode·is·always·single. |
| | 651 | ·* |
| | 652 | ·*··@param·mode·········The·encode·mode·to·set. |
| | 653 | ·*··@param·completion···Completion·block. |
| | 654 | ·*·· |
| | 655 | ·*··@see·`DJILBAirLinkEncodeMode` |
| | 656 | ·*/ |
| | 657 | -·(void)setEncodeMode:(DJILBAirLinkEncodeMode)mode·withCompletion:(DJICompletionBlock)completion; |
| | 658 | /** |
| | 659 | ·*··Gets·Lightbridge·2·encode·mode.·It·is·only·available·when·`isDualEncodeModeSupported`·returns·`YES`.·For·Lightbridge·2·modules·that·don't·support·dual·encode·mode,·the·encode·mode·is·always·single. |
| | 660 | ·* |
| | 661 | ·*··@param·completion···Completion·block. |
| | 662 | ·* |
| | 663 | ·*··@see·`DJILBAirLinkEncodeMode` |
| | 664 | ·*/ |
| | 665 | -·(void)getEncodeModeWithCompletion:(void·(^_Nonnull)(DJILBAirLinkEncodeMode·mode,·NSError·*_Nullable·error))completion; |
| | 666 | /** |
| | 667 | ·*··Sets·the·computational·power·and·bandwidth·balance·between·AV·and·HMDI·inputs·on·the·Lightbridge·2·module·when·dual·encode·mode·is·enabled.·Balance·is·in·percent·[0.0,··1.0].·It·is·only·available·when·`isDualEncodeModeSupported`·returns·`YES`. |
| | 668 | ·*··When·`percent`·is·0.0,·all·resources·are·allocated·for·video·data·from·AV·port. |
| | 669 | ·*··When·`percent`·is·1.0,·all·resources·are·allocated·for·video·data·from·HDMI·port. |
| | 670 | ·* |
| | 671 | ·*··@param·percent······Percentage·resources·dedicated·to·HDMI·encoding·and·transmission. |
| | 672 | ·*··@param·completion···Completion·block. |
| | 673 | ·*/ |
| | 674 | -·(void)setDualEncodeModePercent:(float)percent·withCompletion:(DJICompletionBlock)completion; |
| | 675 | /** |
| | 676 | ·*··Gets·the·computational·power·and·bandwidth·balance·between·AV·and·HMDI·inputs·on·the·Lightbridge·2·module·when·dual·encode·mode·is·enabled. |
| | 677 | ·*··It·is·only·available·when·`isDualEncodeModeSupported`·returns·`YES`. |
| | 678 | ·*··When·`percent`·is·0.0,·all·resources·are·allocated·for·video·data·from·AV·port. |
| | 679 | ·*··When·`percent`·is·1.0,·all·resources·are·allocated·for·video·data·from·HDMI·port. |
| | 680 | ·* |
| | 681 | ·*··@param·completion···Completion·block. |
| | 682 | ·*/ |
| | 683 | -·(void)getDualEncodeModePercentWithCompletion:(void·(^_Nonnull)(float·percent,·NSError·*_Nullable·error))completion; |
| 576 | | 684 | |
| 577 | @end | 685 | @end |
| 578 | | 686 | |
| diff --git a/Headers/DJILandingGear.h b/Headers/DJILandingGear.h
|
| index 13b81df..f3216e0 100644
|
| 3.1.1/Headers/DJILandingGear.h | 3.2/Headers/DJILandingGear.h |
| ⋮ | ⋮ |
| 45 | ·*/ | 45 | ·*/ |
| 46 | typedef·NS_ENUM·(uint8_t,·DJILandingGearMode){ | 46 | typedef·NS_ENUM·(uint8_t,·DJILandingGearMode){ |
| 47 | ····/** | 47 | ····/** |
| 48 | ·····*··Landing·Gear·can·be·deployed·and·retracted·through·function·calls. | 48 | ·····*··Landing·Gear·can·be·deployed·and·retracted·through·function·calls.· |
| | 49 | ·····*··It·is·supported·by·Inspire·1·and·Matrice·600. |
| 49 | ·····*/ | 50 | ·····*/ |
| 50 | ····DJILandingGearModeNormal, | 51 | ····DJILandingGearModeNormal, |
| 51 | ····/** | 52 | ····/** |
| 52 | ·····*··Landing·Gear·is·in·transport·mode·(either·it·is·moving·into,·moving·out·of,·or·stopped·in·transport·position). | 53 | ·····*··Landing·Gear·is·in·transport·mode·(either·it·is·moving·into,·moving·out·of,·or·stopped·in·transport·position). |
| | 54 | ·····*··It·is·only·supported·by·Inspire·1. |
| 53 | ·····*/ | 55 | ·····*/ |
| 54 | ····DJILandingGearModeTransport, | 56 | ····DJILandingGearModeTransport, |
| 55 | ····/** | 57 | ····/** |
| 56 | ·····*··Landing·Gear·automatically·transitions·between·deployed·and·retracted·depending·on·altitude.·During·take-off,·the·transition·point·is·1.2m·above·ground.·After·take-off·(during·flight·or·when·landing),·the·transition·point·is·0.5m·above·ground. | 58 | ·····*··Landing·Gear·automatically·transitions·between·deployed·and·retracted·depending·on·altitude.·During·take-off,·the·transition·point·is·1.2m·above·ground.·After·take-off·(during·flight·or·when·landing),·the·transition·point·is·0.5m·above·ground. |
| | 59 | ·····*··It·is·supported·by·Inspire·1·and·Matrice·600. |
| 57 | ·····*/ | 60 | ·····*/ |
| 58 | ····DJILandingGearModeAuto, | 61 | ····DJILandingGearModeAuto, |
| 59 | ····/** | 62 | ····/** |
| ⋮ | ⋮ |
| 69 | @interface·DJILandingGear·:·NSObject | 72 | @interface·DJILandingGear·:·NSObject |
| 70 | | 73 | |
| 71 | /** | 74 | /** |
| 72 | ·*··The·current·state/position·of·the·landing·gear. | 75 | ·*··The·current·state/position·of·the·landing·gear.· |
| | 76 | ·*··It·is·only·supported·by·Inspire·1. |
| 73 | ·*/ | 77 | ·*/ |
| 74 | @property(nonatomic,·readonly)·DJILandingGearStatus·status; | 78 | @property(nonatomic,·readonly)·DJILandingGearStatus·status; |
| 75 | | 79 | |
| ⋮ | ⋮ |
| 79 | @property(nonatomic,·readonly)·DJILandingGearMode·mode; | 83 | @property(nonatomic,·readonly)·DJILandingGearMode·mode; |
| 80 | | 84 | |
| 81 | /** | 85 | /** |
| 82 | ·*··YES·if·the·landing·gear·is·supported·for·the·connected·aircraft. | |
| 83 | ·*/ | |
| 84 | -·(BOOL)isLandingGearMovable; | |
| 85 | | |
| 86 | /** | |
| 87 | ·*··Turns·on·the·self-adaptive·landing·gear.·If·self-adaptive·landing·gear·is·turned·on,·the·landing·gear·automatically | 86 | ·*··Turns·on·the·self-adaptive·landing·gear.·If·self-adaptive·landing·gear·is·turned·on,·the·landing·gear·automatically |
| 88 | ·*··transitions·between·deployed·and·retracted·depending·on·altitude.·During·take-off,·the·transition·point·is·1.2m·above | 87 | ·*··transitions·between·deployed·and·retracted·depending·on·altitude.·During·take-off,·the·transition·point·is·1.2m·above |
| 89 | ·*··ground.·After·take-off·(during·flight·or·when·landing),·the·transition·point·is·0.5m·above·ground. | 88 | ·*··ground.·After·take-off·(during·flight·or·when·landing),·the·transition·point·is·0.5m·above·ground. |
| | 89 | ·* |
| | 90 | ·*··@param·completion···Completion·block·that·receives·the·execution·result. |
| 90 | ·*/ | 91 | ·*/ |
| 91 | -·(void)turnOnAutoLandingGearWithCompletion:(DJICompletionBlock)completion; | 92 | -·(void)turnOnAutoLandingGearWithCompletion:(DJICompletionBlock)completion; |
| 92 | | 93 | |
| ⋮ | ⋮ |
| 95 | ·*··the·aircraft·will·not·automatically·lower·and·raise·the·landing·gear·when·the·aircraft | 96 | ·*··the·aircraft·will·not·automatically·lower·and·raise·the·landing·gear·when·the·aircraft |
| 96 | ·*··is·0.5m·above·the·ground. | 97 | ·*··is·0.5m·above·the·ground. |
| 97 | ·* | 98 | ·* |
| | 99 | ·*··@param·completion···Completion·block·that·receives·the·execution·result. |
| 98 | ·*/ | 100 | ·*/ |
| 99 | -·(void)turnOffAutoLandingGearWithCompletion:(DJICompletionBlock)completion; | 101 | -·(void)turnOffAutoLandingGearWithCompletion:(DJICompletionBlock)completion; |
| 100 | | 102 | |
| 101 | /** | 103 | /** |
| 102 | ·*··Enters·the·transport·mode.·In·transport·mode,·the·landing·gear·will·be·in·the·same·geometric·plane·as·the·aircraft·body·so·it·can·be·easily·transported. | 104 | ·*··Enters·the·transport·mode.·In·transport·mode,·the·landing·gear·will·be·in·the·same·geometric·plane·as·the·aircraft·body·so·it·can·be·easily·transported. |
| | 105 | ·*··It·is·only·supported·by·Inspire·1. |
| 103 | ·* | 106 | ·* |
| | 107 | ·*··@param·completion···Completion·block·that·receives·the·execution·result. |
| 104 | ·*··@attention·If·the·gimbal·is·not·removed·or·the·ground·is·not·flat,·the·enter·transport·mode·will·fail. | 108 | ·*··@attention·If·the·gimbal·is·not·removed·or·the·ground·is·not·flat,·the·enter·transport·mode·will·fail. |
| 105 | ·*/ | 109 | ·*/ |
| 106 | -·(void)enterTransportModeWithCompletion:(DJICompletionBlock)completion; | 110 | -·(void)enterTransportModeWithCompletion:(DJICompletionBlock)completion; |
| 107 | | 111 | |
| 108 | /** | 112 | /** |
| 109 | ·*··Exit·transport·mode. | 113 | ·*··Exit·transport·mode. |
| | 114 | ·*··It·is·only·supported·by·Inspire·1. |
| 110 | ·* | 115 | ·* |
| | 116 | ·*··@param·completion···Completion·block·that·receives·the·execution·result. |
| 111 | ·*··@attention·If·the·ground·is·not·flat,·exit·transport·mode·will·fail. | 117 | ·*··@attention·If·the·ground·is·not·flat,·exit·transport·mode·will·fail. |
| 112 | ·*/ | 118 | ·*/ |
| 113 | -·(void)exitTransportModeWithCompletion:(DJICompletionBlock)completion; | 119 | -·(void)exitTransportModeWithCompletion:(DJICompletionBlock)completion; |
| 114 | | 120 | |
| 115 | /** | 121 | /** |
| 116 | ·*··Retracts·the·landing·gear.·Should·only·be·used·when·`setLandingGearMode`·is·`DJILandingGearModeNormal`. | 122 | ·*··Retracts·the·landing·gear.·Should·only·be·used·when·`setLandingGearMode`·is·`DJILandingGearModeNormal`. |
| | 123 | ·*··Only·supported·by·Inspire·1. |
| | 124 | ·*··For·Matrice·600,·the·landing·gear·cannot·be·controlled·through·the·SDK,·only·automatically·by·the·aircraft·or·manually·by·the·remote·controller. |
| 117 | ·* | 125 | ·* |
| | 126 | ·*··@param·completion···Completion·block·that·receives·the·execution·result. |
| 118 | ·*/ | 127 | ·*/ |
| 119 | -·(void)retractLandingGearWithCompletion:(DJICompletionBlock)completion; | 128 | -·(void)retractLandingGearWithCompletion:(DJICompletionBlock)completion; |
| 120 | | 129 | |
| 121 | /** | 130 | /** |
| 122 | ·*··Deploys·the·landing·gear.·Should·only·be·used·when·`setLandingGearMode`·is·`DJILandingGearModeNormal`. | 131 | ·*··Deploys·the·landing·gear.·Should·only·be·used·when·`setLandingGearMode`·is·`DJILandingGearModeNormal`. |
| | 132 | ·*··Only·supported·by·Inspire·1.· |
| | 133 | ·*·For·Matrice·600,·the·landing·gear·cannot·be·controlled·through·the·SDK,·only·automatically·by·the·aircraft·or·manually·by·the·remote·controller. |
| 123 | ·* | 134 | ·* |
| | 135 | ·*··@param·completion···Completion·block·that·receives·the·execution·result. |
| 124 | ·*/ | 136 | ·*/ |
| 125 | -·(void)deployLandingGearWithCompletion:(DJICompletionBlock)completion; | 137 | -·(void)deployLandingGearWithCompletion:(DJICompletionBlock)completion; |
| 126 | | 138 | |
| diff --git a/Headers/DJIMedia.h b/Headers/DJIMedia.h
|
| index 7c1c640..7fadb3d 100644
|
| 3.1.1/Headers/DJIMedia.h | 3.2/Headers/DJIMedia.h |
| ⋮ | ⋮ |
| 65 | /** | 65 | /** |
| 66 | ·*··Returns·the·name·of·the·media·file. | 66 | ·*··Returns·the·name·of·the·media·file. |
| 67 | ·*/ | 67 | ·*/ |
| 68 | @property(nonatomic,·readonly)·NSString·*fileName; | 68 | @property(nonatomic,·readonly)·NSString·*_Nonnull·fileName; |
| 69 | | 69 | |
| 70 | /** | 70 | /** |
| 71 | ·*··Returns·the·size,·in·bytes,·of·the·media·file. | 71 | ·*··Returns·the·size,·in·bytes,·of·the·media·file. |
| ⋮ | ⋮ |
| 76 | ·*··Returns·the·time·when·the·media·file·was·created·as·a·string·in | 76 | ·*··Returns·the·time·when·the·media·file·was·created·as·a·string·in |
| 77 | ·*··the·format·"yyyy-MM-dd·HH:mm:ss". | 77 | ·*··the·format·"yyyy-MM-dd·HH:mm:ss". |
| 78 | ·*/ | 78 | ·*/ |
| 79 | @property(nonatomic,·readonly)·NSString·*timeCreated; | 79 | @property(nonatomic,·readonly)·NSString·*_Nonnull·timeCreated; |
| 80 | | 80 | |
| 81 | /** | 81 | /** |
| 82 | ·*··If·the·media·file·is·a·video,·this·property·returns·the·duration | 82 | ·*··If·the·media·file·is·a·video,·this·property·returns·the·duration |
| ⋮ | ⋮ |
| 114 | ·*··@param·block·Data·callback·will·be·invoked·when·media·data·has·been·received | 114 | ·*··@param·block·Data·callback·will·be·invoked·when·media·data·has·been·received |
| 115 | ·*··from·the·SD·card·or·an·error·has·occurred. | 115 | ·*··from·the·SD·card·or·an·error·has·occurred. |
| 116 | ·*/ | 116 | ·*/ |
| 117 | -·(void)fetchMediaDataWithCompletion:(void·(^)(NSData·*_Nullable·data,·BOOL·*_Nullable·stop,·NSError·*_Nullable·error))block; | 117 | -·(void)fetchMediaDataWithCompletion:(void·(^_Nonnull)(NSData·*_Nullable·data,·BOOL·*_Nullable·stop,·NSError·*_Nullable·error))block; |
| 118 | | 118 | |
| 119 | /** | 119 | /** |
| 120 | ·*··Fetch·media's·preview·image.·The·preview·image·is·a·lower·resolution·(960·x·540)·version·of·a·still·picture·or | 120 | ·*··Fetch·media's·preview·image.·The·preview·image·is·a·lower·resolution·(960·x·540)·version·of·a·still·picture·or |
| ⋮ | ⋮ |
| 123 | ·* | 123 | ·* |
| 124 | ·*··@param·block·Remote·execute·result·callback. | 124 | ·*··@param·block·Remote·execute·result·callback. |
| 125 | ·*/ | 125 | ·*/ |
| 126 | -·(void)fetchPreviewImageWithCompletion:(void·(^)(UIImage·*image,·NSError·*_Nullable·error))block; | 126 | -·(void)fetchPreviewImageWithCompletion:(void·(^_Nonnull)(UIImage·*image,·NSError·*_Nullable·error))block; |
| 127 | | 127 | |
| 128 | | 128 | |
| 129 | /** | 129 | /** |
| ⋮ | ⋮ |
| 133 | ·* | 133 | ·* |
| 134 | ·*··@param·block·Remote·execute·result·callback. | 134 | ·*··@param·block·Remote·execute·result·callback. |
| 135 | ·*/ | 135 | ·*/ |
| 136 | -·(void)fetchSubMediaFileListWithCompletion:(void·(^)(NSArray<DJIMedia·*>·*_Nullable·mediaList,·NSError·*_Nullable·error))block; | 136 | -·(void)fetchSubMediaFileListWithCompletion:(void·(^_Nonnull)(NSArray<DJIMedia·*>·*_Nullable·mediaList,·NSError·*_Nullable·error))block; |
| 137 | | 137 | |
| 138 | @end | 138 | @end |
| 139 | | 139 | |
| diff --git a/Headers/DJIMediaManager.h b/Headers/DJIMediaManager.h
|
| index bba57ff..48c9ccb 100644
|
| 3.1.1/Headers/DJIMediaManager.h | 3.2/Headers/DJIMediaManager.h |
| ⋮ | ⋮ |
| 27 | ·* | 27 | ·* |
| 28 | ·*··@param·block·Remote·execute·result.·Objects·in·mediaList·are·kind·of·class·DJIMedia. | 28 | ·*··@param·block·Remote·execute·result.·Objects·in·mediaList·are·kind·of·class·DJIMedia. |
| 29 | ·*/ | 29 | ·*/ |
| 30 | -·(void)fetchMediaListWithCompletion:(void·(^)(NSArray<DJIMedia·*>·*_Nullable·mediaList,·NSError·*_Nullable·error))block; | 30 | -·(void)fetchMediaListWithCompletion:(void·(^_Nonnull)(NSArray<DJIMedia·*>·*_Nullable·mediaList,·NSError·*_Nullable·error))block; |
| 31 | | 31 | |
| 32 | /** | 32 | /** |
| 33 | ·*··Delete·media·files·from·remote·album.·Set·the·camera's·work·mode·to·`DJICameraModeMediaDownload`·before·executing·this·method.·Deletion·is·not·supported·by·the·media·file·generated·by·a·panorama·mission. | 33 | ·*··Delete·media·files·from·remote·album.·Set·the·camera's·work·mode·to·`DJICameraModeMediaDownload`·before·executing·this·method.·Deletion·is·not·supported·by·the·media·file·generated·by·a·panorama·mission. |
| ⋮ | ⋮ |
| 35 | ·*··@param·media··Media·files·to·be·deleted. | 35 | ·*··@param·media··Media·files·to·be·deleted. |
| 36 | ·*··@param·block··The·remote·execution·result.·'deleteFailures'·will·contain·media·that·failed·to·delete. | 36 | ·*··@param·block··The·remote·execution·result.·'deleteFailures'·will·contain·media·that·failed·to·delete. |
| 37 | ·*/ | 37 | ·*/ |
| 38 | -·(void)deleteMedia:(NSArray<DJIMedia·*>·*)media·withCompletion:(void·(^)(NSArray<DJIMedia·*>·*_Nonnull·deleteFailures,·NSError·*_Nullable·error))block; | 38 | -·(void)deleteMedia:(NSArray<DJIMedia·*>·*_Nonnull)media·withCompletion:(void·(^_Nullable)(NSArray<DJIMedia·*>·*_Nonnull·deleteFailures,·NSError·*_Nullable·error))block; |
| 39 | | 39 | |
| 40 | @end | 40 | @end |
| 41 | | 41 | |
| diff --git a/Headers/DJIPanoramaMission.h b/Headers/DJIPanoramaMission.h
|
| index 502a88c..09f08ef 100644
|
| 3.1.1/Headers/DJIPanoramaMission.h | 3.2/Headers/DJIPanoramaMission.h |
| ⋮ | ⋮ |
| 58 | ·*··In·full·circle·mode,·8·photos·are·taken.·In·half·circle·mode,·5·photos·are·taken. | 58 | ·*··In·full·circle·mode,·8·photos·are·taken.·In·half·circle·mode,·5·photos·are·taken. |
| 59 | ·*··Commands·cannot·be·sent·to·the·camera·until·the·mission·is·finished.·The·Panorama·Mission·does·not·support·the·image·stitching·feature,·so·the·images·must·be·stitched·manually.·All·the·images·will·be·stored·on·the·SD·card. | 59 | ·*··Commands·cannot·be·sent·to·the·camera·until·the·mission·is·finished.·The·Panorama·Mission·does·not·support·the·image·stitching·feature,·so·the·images·must·be·stitched·manually.·All·the·images·will·be·stored·on·the·SD·card. |
| 60 | ·* | 60 | ·* |
| 61 | ·*··Panorama·Mission·is·only·supported·on·OSMO. | 61 | ·*··Panorama·Mission·is·only·supported·by·Osmo·with·X3·camera. |
| 62 | ·*/ | 62 | ·*/ |
| 63 | @interface·DJIPanoramaMission·:·DJIMission | 63 | @interface·DJIPanoramaMission·:·DJIMission |
| 64 | | 64 | |
| diff --git a/Headers/DJIPlaybackManager.h b/Headers/DJIPlaybackManager.h
|
| index a607caf..7d1630f 100644
|
| 3.1.1/Headers/DJIPlaybackManager.h | 3.2/Headers/DJIPlaybackManager.h |
| ⋮ | ⋮ |
| 17 | /** | 17 | /** |
| 18 | ·*··Block·invoked·when·preparing·a·file·for·download. | 18 | ·*··Block·invoked·when·preparing·a·file·for·download. |
| 19 | ·*/ | 19 | ·*/ |
| 20 | typedef·void·(^DJIFileDownloadPreparingBlock)(NSString·*_Nullable·fileName,·DJIDownloadFileType·fileType,·NSUInteger·fileSize,·BOOL·*skip); | 20 | typedef·void·(^_Nullable·DJIFileDownloadPreparingBlock)(NSString·*_Nullable·fileName,·DJIDownloadFileType·fileType,·NSUInteger·fileSize,·BOOL·*skip); |
| 21 | | 21 | |
| 22 | /** | 22 | /** |
| 23 | ·*··Block·invoked·when·a·file·is·downloading. | 23 | ·*··Block·invoked·when·a·file·is·downloading. |
| 24 | ·*/ | 24 | ·*/ |
| 25 | typedef·void·(^DJIFileDownloadingBlock)(NSData·*_Nullable·data,·NSError·*_Nullable·error); | 25 | typedef·void·(^_Nullable·DJIFileDownloadingBlock)(NSData·*_Nullable·data,·NSError·*_Nullable·error); |
| 26 | | 26 | |
| 27 | /** | 27 | /** |
| 28 | ·*··Block·invoked·after·a·file·has·been·downloaded. | 28 | ·*··Block·invoked·after·a·file·has·been·downloaded. |
| 29 | ·*/ | 29 | ·*/ |
| 30 | typedef·void·(^DJIFileDownloadCompletionBlock)(); | 30 | typedef·void·(^_Nullable·DJIFileDownloadCompletionBlock)(); |
| 31 | | 31 | |
| 32 | /*********************************************************************************/ | 32 | /*********************************************************************************/ |
| 33 | #pragma·mark·-·DJIPlaybackDelegate | 33 | #pragma·mark·-·DJIPlaybackDelegate |
| ⋮ | ⋮ |
| 45 | ·* | 45 | ·* |
| 46 | ·*··@param·playbackState·The·camera's·playback·state. | 46 | ·*··@param·playbackState·The·camera's·playback·state. |
| 47 | ·*/ | 47 | ·*/ |
| 48 | -·(void)playbackManager:(DJIPlaybackManager·*)playbackManager·didUpdatePlaybackState:(DJICameraPlaybackState·*)playbackState; | 48 | -·(void)playbackManager:(DJIPlaybackManager·*_Nonnull)playbackManager·didUpdatePlaybackState:(DJICameraPlaybackState·*_Nonnull)playbackState; |
| 49 | | 49 | |
| 50 | @end | 50 | @end |
| 51 | | 51 | |
| ⋮ | ⋮ |
| 118 | -·(void)downloadSelectedFilesWithPreparation:(DJIFileDownloadPreparingBlock)prepareBlock·process:(DJIFileDownloadingBlock)dataBlock·fileCompletion:(DJIFileDownloadCompletionBlock)fileCompletionBlock·overallCompletion:(DJICompletionBlock)overallCompletionBlock; | 118 | -·(void)downloadSelectedFilesWithPreparation:(DJIFileDownloadPreparingBlock)prepareBlock·process:(DJIFileDownloadingBlock)dataBlock·fileCompletion:(DJIFileDownloadCompletionBlock)fileCompletionBlock·overallCompletion:(DJICompletionBlock)overallCompletionBlock; |
| 119 | | 119 | |
| 120 | /** | 120 | /** |
| | 121 | ·*·Cancel·current·file·download. |
| | 122 | ·* |
| | 123 | ·*·@param·block·Callback·after·the·operation·finished. |
| | 124 | ·*/ |
| | 125 | |
| | 126 | -·(void)stopDownloadingFilesWithCompletion:(DJICompletionBlock)block; |
| | 127 | |
| | 128 | /** |
| 121 | ·*··Enables·the·user·to·preview·multiple·files·when·the·camera·is·in·Playback·mode. | 129 | ·*··Enables·the·user·to·preview·multiple·files·when·the·camera·is·in·Playback·mode. |
| 122 | ·*/ | 130 | ·*/ |
| 123 | -·(void)enterMultiplePreviewMode; | 131 | -·(void)enterMultiplePreviewMode; |
| diff --git a/Headers/DJIRemoteController.h b/Headers/DJIRemoteController.h
|
| index 055d12e..32ebb85 100644
|
| 3.1.1/Headers/DJIRemoteController.h | 3.2/Headers/DJIRemoteController.h |
| ⋮ | ⋮ |
| 18 | | 18 | |
| 19 | #pragma·pack(1) | 19 | #pragma·pack(1) |
| 20 | | 20 | |
| 21 | //----------------------------------------------------------------- | 21 | /*********************************************************************************/ |
| 22 | #pragma·mark·DJIRemoteControllerMode | 22 | #pragma·mark·DJIRemoteControllerMode |
| 23 | //----------------------------------------------------------------- | 23 | /*********************************************************************************/ |
| | 24 | |
| 24 | /** | 25 | /** |
| 25 | ·*··Remote·Controller·mode·of·operation·can·be·normal·(single·RC·connected·to·aircraft),·master, | 26 | ·*··Remote·Controller·mode·of·operation·can·be·normal·(single·RC·connected·to·aircraft),·master, |
| 26 | ·*··slave,·or·unknown. | 27 | ·*··slave,·or·unknown. |
| ⋮ | ⋮ |
| 44 | ····DJIRemoteControllerModeUnknown, | 45 | ····DJIRemoteControllerModeUnknown, |
| 45 | }; | 46 | }; |
| 46 | | 47 | |
| 47 | //----------------------------------------------------------------- | 48 | /*********************************************************************************/ |
| 48 | #pragma·mark·DJIRCID | 49 | #pragma·mark·DJIRCID |
| 49 | //----------------------------------------------------------------- | 50 | /*********************************************************************************/ |
| | 51 | |
| 50 | /** | 52 | /** |
| 51 | ·*··Remote·Controller's·unique·identification·number.·This·is·given·to·each·Remote | 53 | ·*··Remote·Controller's·unique·identification·number.·This·is·given·to·each·Remote |
| 52 | ·*··Controller·during·manufacturing·and·cannot·be·changed. | 54 | ·*··Controller·during·manufacturing·and·cannot·be·changed. |
| 53 | ·*/ | 55 | ·*/ |
| 54 | typedef·uint32_t·DJIRCID; | 56 | typedef·uint32_t·DJIRCID; |
| 55 | | 57 | |
| 56 | //----------------------------------------------------------------- | 58 | /*********************************************************************************/ |
| 57 | #pragma·mark·DJIRCSignalQualityOfConnectedRC | 59 | #pragma·mark·DJIRCSignalQualityOfConnectedRC |
| 58 | //----------------------------------------------------------------- | 60 | /*********************************************************************************/ |
| | 61 | |
| 59 | /** | 62 | /** |
| 60 | ·*··Signal·quality·of·a·connected·master·or·slave·Remote·Controller·in·percent·[0,·100]. | 63 | ·*··Signal·quality·of·a·connected·master·or·slave·Remote·Controller·in·percent·[0,·100]. |
| 61 | ·*/ | 64 | ·*/ |
| 62 | typedef·uint8_t·DJIRCSignalQualityOfConnectedRC; | 65 | typedef·uint8_t·DJIRCSignalQualityOfConnectedRC; |
| 63 | | 66 | |
| 64 | //----------------------------------------------------------------- | 67 | /*********************************************************************************/ |
| 65 | #pragma·mark·DJIRCControlStyle | 68 | #pragma·mark·DJIRCControlStyle |
| 66 | //----------------------------------------------------------------- | 69 | /*********************************************************************************/ |
| | 70 | |
| 67 | /** | 71 | /** |
| 68 | ·*··Remote·Controller's·control·style. | 72 | ·*··Remote·Controller's·control·style. |
| 69 | ·*/ | 73 | ·*/ |
| ⋮ | ⋮ |
| 103 | ····RCControlStyleUnknown, | 107 | ····RCControlStyleUnknown, |
| 104 | }; | 108 | }; |
| 105 | | 109 | |
| 106 | //----------------------------------------------------------------- | 110 | /*********************************************************************************/ |
| 107 | #pragma·mark·DJIRCControlChannelName | 111 | #pragma·mark·DJIRCControlChannelName |
| 108 | //----------------------------------------------------------------- | 112 | /*********************************************************************************/ |
| | 113 | |
| 109 | /** | 114 | /** |
| 110 | ·*··Remote·Controller·control·channels.·These·will·be·used·in·RC·Custom·Control·Style.·See | 115 | ·*··Remote·Controller·control·channels.·These·will·be·used·in·RC·Custom·Control·Style.·See |
| 111 | ·*··`RCControlStyleCustom`·and·`RCSlaveControlStyleCustom`·for·more·information. | 116 | ·*··`RCControlStyleCustom`·and·`RCSlaveControlStyleCustom`·for·more·information. |
| ⋮ | ⋮ |
| 130 | ····DJIRCControlChannelNameYaw, | 135 | ····DJIRCControlChannelNameYaw, |
| 131 | }; | 136 | }; |
| 132 | | 137 | |
| 133 | //----------------------------------------------------------------- | 138 | /*********************************************************************************/ |
| 134 | #pragma·mark·DJIRCControlChannel | 139 | #pragma·mark·DJIRCControlChannel |
| 135 | //----------------------------------------------------------------- | 140 | /*********************************************************************************/ |
| | 141 | |
| 136 | /** | 142 | /** |
| 137 | ·*··Remote·Controller's·control·channel. | 143 | ·*··Remote·Controller's·control·channel. |
| 138 | ·*/ | 144 | ·*/ |
| ⋮ | ⋮ |
| 154 | ····BOOL·reverse; | 160 | ····BOOL·reverse; |
| 155 | }·DJIRCControlChannel; | 161 | }·DJIRCControlChannel; |
| 156 | | 162 | |
| 157 | //----------------------------------------------------------------- | 163 | /*********************************************************************************/ |
| 158 | #pragma·mark·DJIRCControlMode | 164 | #pragma·mark·DJIRCControlMode |
| 159 | //----------------------------------------------------------------- | 165 | /*********************************************************************************/ |
| | 166 | |
| 160 | /** | 167 | /** |
| 161 | ·*··Remote·Controller's·control·mode. | 168 | ·*··Remote·Controller's·control·mode. |
| 162 | ·*/ | 169 | ·*/ |
| ⋮ | ⋮ |
| 172 | ····DJIRCControlChannel·controlChannel[DJI_RC_CONTROL_CHANNEL_SIZE]; | 179 | ····DJIRCControlChannel·controlChannel[DJI_RC_CONTROL_CHANNEL_SIZE]; |
| 173 | }·DJIRCControlMode; | 180 | }·DJIRCControlMode; |
| 174 | | 181 | |
| 175 | //----------------------------------------------------------------- | 182 | /*********************************************************************************/ |
| 176 | #pragma·mark·DJIRCRequestGimbalControlResult | 183 | #pragma·mark·DJIRCRequestGimbalControlResult |
| 177 | //----------------------------------------------------------------- | 184 | /*********************************************************************************/ |
| | 185 | |
| 178 | /** | 186 | /** |
| 179 | ·*··Result·when·a·slave·Remote·Controller·requests·permission·to·control·the·gimbal. | 187 | ·*··Result·when·a·slave·Remote·Controller·requests·permission·to·control·the·gimbal. |
| 180 | ·*/ | 188 | ·*/ |
| ⋮ | ⋮ |
| 203 | ····RCRequestGimbalControlResultUnknown, | 211 | ····RCRequestGimbalControlResultUnknown, |
| 204 | }; | 212 | }; |
| 205 | | 213 | |
| 206 | //----------------------------------------------------------------- | 214 | /*********************************************************************************/ |
| 207 | #pragma·mark·DJIRCControlPermission | 215 | #pragma·mark·DJIRCControlPermission |
| 208 | //----------------------------------------------------------------- | 216 | /*********************************************************************************/ |
| | 217 | |
| 209 | /** | 218 | /** |
| 210 | ·*··Remote·Controller's·control·permission. | 219 | ·*··Remote·Controller's·control·permission. |
| 211 | ·*/ | 220 | ·*/ |
| ⋮ | ⋮ |
| 243 | ····bool·hasCaptureControlPermission; | 252 | ····bool·hasCaptureControlPermission; |
| 244 | }·DJIRCControlPermission; | 253 | }·DJIRCControlPermission; |
| 245 | | 254 | |
| 246 | //----------------------------------------------------------------- | 255 | /*********************************************************************************/ |
| 247 | #pragma·mark·DJIRCGimbalControlSpeed | 256 | #pragma·mark·DJIRCGimbalControlSpeed |
| 248 | //----------------------------------------------------------------- | 257 | /*********************************************************************************/ |
| | 258 | |
| 249 | /** | 259 | /** |
| 250 | ·*··Remote·Controller's·gimbal·control·speed. | 260 | ·*··Remote·Controller's·gimbal·control·speed. |
| 251 | ·*/ | 261 | ·*/ |
| ⋮ | ⋮ |
| 265 | ····uint8_t·yawSpeed; | 275 | ····uint8_t·yawSpeed; |
| 266 | }·DJIRCGimbalControlSpeed; | 276 | }·DJIRCGimbalControlSpeed; |
| 267 | | 277 | |
| 268 | //----------------------------------------------------------------- | 278 | /*********************************************************************************/ |
| 269 | #pragma·mark·DJIRCToAircraftPairingState | 279 | #pragma·mark·DJIRCToAircraftPairingState |
| 270 | //----------------------------------------------------------------- | 280 | /*********************************************************************************/ |
| | 281 | |
| 271 | /** | 282 | /** |
| 272 | ·*··Remote·Controller·pairing·state. | 283 | ·*··Remote·Controller·pairing·state. |
| 273 | ·*/ | 284 | ·*/ |
| ⋮ | ⋮ |
| 290 | ····DJIRCToAircraftPairingStateUnknown, | 301 | ····DJIRCToAircraftPairingStateUnknown, |
| 291 | }; | 302 | }; |
| 292 | | 303 | |
| 293 | //----------------------------------------------------------------- | 304 | /*********************************************************************************/ |
| 294 | #pragma·mark·DJIRCJoinMasterResult | 305 | #pragma·mark·DJIRCJoinMasterResult |
| 295 | //----------------------------------------------------------------- | 306 | /*********************************************************************************/ |
| | 307 | |
| 296 | /** | 308 | /** |
| 297 | ·*··Result·when·a·slave·Remote·Controller·tries·to·join | 309 | ·*··Result·when·a·slave·Remote·Controller·tries·to·join |
| 298 | ·*··a·master·Remote·Controller. | 310 | ·*··a·master·Remote·Controller. |
| ⋮ | ⋮ |
| 335 | ····DJIRCJoinMasterResultUnknown | 347 | ····DJIRCJoinMasterResultUnknown |
| 336 | }; | 348 | }; |
| 337 | | 349 | |
| 338 | //----------------------------------------------------------------- | 350 | /*********************************************************************************/ |
| 339 | #pragma·mark·DJIRCBatteryInfo | 351 | #pragma·mark·DJIRCBatteryInfo |
| 340 | //----------------------------------------------------------------- | 352 | /*********************************************************************************/ |
| | 353 | |
| 341 | /** | 354 | /** |
| 342 | ·*··Remote·Controller's·battery·info. | 355 | ·*··Remote·Controller's·battery·info. |
| 343 | ·*/ | 356 | ·*/ |
| ⋮ | ⋮ |
| 355 | ····uint8_t·remainingEnergyInPercent; | 368 | ····uint8_t·remainingEnergyInPercent; |
| 356 | }·DJIRCBatteryInfo; | 369 | }·DJIRCBatteryInfo; |
| 357 | | 370 | |
| 358 | //----------------------------------------------------------------- | 371 | /*********************************************************************************/ |
| 359 | #pragma·mark·DJIRCGpsTime | 372 | #pragma·mark·DJIRCGpsTime |
| 360 | //----------------------------------------------------------------- | 373 | /*********************************************************************************/ |
| | 374 | |
| 361 | /** | 375 | /** |
| 362 | ·*··Remote·Controller's·GPS·time. | 376 | ·*··Remote·Controller's·GPS·time. |
| 363 | ·*/ | 377 | ·*/ |
| ⋮ | ⋮ |
| 389 | ····uint8_t·day; | 403 | ····uint8_t·day; |
| 390 | }·DJIRCGpsTime; | 404 | }·DJIRCGpsTime; |
| 391 | | 405 | |
| 392 | //----------------------------------------------------------------- | 406 | /*********************************************************************************/ |
| 393 | #pragma·mark·DJIRCGPSData | 407 | #pragma·mark·DJIRCGPSData |
| 394 | //----------------------------------------------------------------- | 408 | /*********************************************************************************/ |
| | 409 | |
| 395 | /** | 410 | /** |
| 396 | ·*··Remote·Controller's·GPS·data.·Only·Inspire·and·M100·Remote·Controllers·have·GPS. | 411 | ·*··Remote·Controller's·GPS·data.·Only·Inspire·and·M100·Remote·Controllers·have·GPS. |
| 397 | ·*/ | 412 | ·*/ |
| ⋮ | ⋮ |
| 436 | ····BOOL·isValid; | 451 | ····BOOL·isValid; |
| 437 | }·DJIRCGPSData; | 452 | }·DJIRCGPSData; |
| 438 | | 453 | |
| 439 | //----------------------------------------------------------------- | 454 | /*********************************************************************************/ |
| 440 | #pragma·mark·DJIRCGimbalControlDirection | 455 | #pragma·mark·DJIRCGimbalControlDirection |
| 441 | //----------------------------------------------------------------- | 456 | /*********************************************************************************/ |
| | 457 | |
| 442 | /** | 458 | /** |
| 443 | ·*··Defines·what·the·Gimbal·Dial·(upper·left·wheel·on·the·Remote·Controller)·will·control. | 459 | ·*··Defines·what·the·Gimbal·Dial·(upper·left·wheel·on·the·Remote·Controller)·will·control. |
| 444 | ·*/ | 460 | ·*/ |
| ⋮ | ⋮ |
| 457 | ····DJIRCGimbalControlDirectionYaw, | 473 | ····DJIRCGimbalControlDirectionYaw, |
| 458 | }; | 474 | }; |
| 459 | | 475 | |
| 460 | //----------------------------------------------------------------- | 476 | /*********************************************************************************/ |
| 461 | #pragma·mark·DJIRCHardwareRightWheel | 477 | #pragma·mark·DJIRCHardwareRightWheel |
| 462 | //----------------------------------------------------------------- | 478 | /*********************************************************************************/ |
| | 479 | |
| 463 | /** | 480 | /** |
| 464 | ·*··Current·state·of·the·Camera·Settings·Dial·(upper·right·wheel·on·the·Remote·Controller). | 481 | ·*··Current·state·of·the·Camera·Settings·Dial·(upper·right·wheel·on·the·Remote·Controller). |
| 465 | ·*/ | 482 | ·*/ |
| ⋮ | ⋮ |
| 487 | ····uint8_t·value; | 504 | ····uint8_t·value; |
| 488 | }·DJIRCHardwareRightWheel; | 505 | }·DJIRCHardwareRightWheel; |
| 489 | | 506 | |
| 490 | //----------------------------------------------------------------- | 507 | /*********************************************************************************/ |
| 491 | #pragma·mark·DJIRCHardwareLeftWheel | 508 | #pragma·mark·DJIRCHardwareLeftWheel |
| 492 | //----------------------------------------------------------------- | 509 | /*********************************************************************************/ |
| | 510 | |
| 493 | /** | 511 | /** |
| 494 | ·*··Remote·Controller's·left·wheel. | 512 | ·*··Remote·Controller's·left·wheel. |
| 495 | ·*/ | 513 | ·*/ |
| ⋮ | ⋮ |
| 501 | ····int·value; | 519 | ····int·value; |
| 502 | }·DJIRCHardwareLeftWheel; | 520 | }·DJIRCHardwareLeftWheel; |
| 503 | | 521 | |
| 504 | //----------------------------------------------------------------- | 522 | /*********************************************************************************/ |
| 505 | #pragma·mark·DJIRCHardwareTransformationSwitchState | 523 | #pragma·mark·DJIRCHardwareTransformationSwitchState |
| 506 | //----------------------------------------------------------------- | 524 | /*********************************************************************************/ |
| | 525 | |
| 507 | /** | 526 | /** |
| 508 | ·*··Transformation·Switch·position·states. | 527 | ·*··Transformation·Switch·position·states. |
| 509 | ·*/ | 528 | ·*/ |
| ⋮ | ⋮ |
| 518 | ····DJIRCHardwareTransformationSwitchStateDeploy | 537 | ····DJIRCHardwareTransformationSwitchStateDeploy |
| 519 | }; | 538 | }; |
| 520 | | 539 | |
| 521 | //----------------------------------------------------------------- | 540 | /*********************************************************************************/ |
| 522 | #pragma·mark·DJIRCHardwareTransformSwitch | 541 | #pragma·mark·DJIRCHardwareTransformSwitch |
| 523 | //----------------------------------------------------------------- | 542 | /*********************************************************************************/ |
| | 543 | |
| 524 | /** | 544 | /** |
| 525 | ·*··Transformation·Switch·position.·The·Transformation·Switch·is·around·the·Return·To·Home·Button·on·Inspire,·Inspire·1·and·M100·Remote·Controllers,·and·controls·the·state·of·the·aircraft's·landing·gear. | 545 | ·*··Transformation·Switch·position.·The·Transformation·Switch·is·around·the·Return·To·Home·Button·on·Inspire,·Inspire·1·and·M100·Remote·Controllers,·and·controls·the·state·of·the·aircraft's·landing·gear. |
| 526 | ·*/ | 546 | ·*/ |
| ⋮ | ⋮ |
| 537 | ···· | 557 | ···· |
| 538 | }·DJIRCHardwareTransformationSwitch; | 558 | }·DJIRCHardwareTransformationSwitch; |
| 539 | | 559 | |
| 540 | //----------------------------------------------------------------- | 560 | /*********************************************************************************/ |
| 541 | #pragma·mark·DJIRCHardwareFlightModeSwitchState | 561 | #pragma·mark·DJIRCHardwareFlightModeSwitchState |
| 542 | //----------------------------------------------------------------- | 562 | /*********************************************************************************/ |
| | 563 | |
| 543 | /** | 564 | /** |
| 544 | ·*··Remote·Controller·Flight·Mode·Switch·State | 565 | ·*··Remote·Controller·Flight·Mode·Switch·State |
| 545 | ·*/ | 566 | ·*/ |
| ⋮ | ⋮ |
| 575 | ····DJIRCHardwareFlightModeSwitchStateS | 596 | ····DJIRCHardwareFlightModeSwitchStateS |
| 576 | }; | 597 | }; |
| 577 | | 598 | |
| 578 | //----------------------------------------------------------------- | 599 | /*********************************************************************************/ |
| 579 | #pragma·mark·DJIRCHardwareFlightModeSwitch | 600 | #pragma·mark·DJIRCHardwareFlightModeSwitch |
| 580 | //----------------------------------------------------------------- | 601 | /*********************************************************************************/ |
| | 602 | |
| 581 | /** | 603 | /** |
| 582 | ·*··The·value·of·the·Remote·Controller's·flight·mode·switch. | 604 | ·*··The·value·of·the·Remote·Controller's·flight·mode·switch. |
| 583 | ·*/ | 605 | ·*/ |
| ⋮ | ⋮ |
| 589 | ····DJIRCHardwareFlightModeSwitchState·mode; | 611 | ····DJIRCHardwareFlightModeSwitchState·mode; |
| 590 | }·DJIRCHardwareFlightModeSwitch; | 612 | }·DJIRCHardwareFlightModeSwitch; |
| 591 | | 613 | |
| 592 | //----------------------------------------------------------------- | 614 | /*********************************************************************************/ |
| 593 | #pragma·mark·DJIRCHardwareButton | 615 | #pragma·mark·DJIRCHardwareButton |
| 594 | //----------------------------------------------------------------- | 616 | /*********************************************************************************/ |
| | 617 | |
| 595 | /** | 618 | /** |
| 596 | ·*··Remote·Controller·has·numerous·momentary·push·buttons,·which·will·use·this·state. | 619 | ·*··Remote·Controller·has·numerous·momentary·push·buttons,·which·will·use·this·state. |
| 597 | ·*/ | 620 | ·*/ |
| ⋮ | ⋮ |
| 607 | ····BOOL·buttonDown; | 630 | ····BOOL·buttonDown; |
| 608 | }·DJIRCHardwareButton; | 631 | }·DJIRCHardwareButton; |
| 609 | | 632 | |
| 610 | //----------------------------------------------------------------- | 633 | /*********************************************************************************/ |
| 611 | #pragma·mark·DJIRCHardwareJoystick | 634 | #pragma·mark·DJIRCHardwareJoystick |
| 612 | //----------------------------------------------------------------- | 635 | /*********************************************************************************/ |
| | 636 | |
| 613 | /** | 637 | /** |
| 614 | ·*··Remote·Controller's·joystick | 638 | ·*··Remote·Controller's·joystick |
| 615 | ·*/ | 639 | ·*/ |
| ⋮ | ⋮ |
| 622 | ····int·value; | 646 | ····int·value; |
| 623 | }·DJIRCHardwareJoystick; | 647 | }·DJIRCHardwareJoystick; |
| 624 | | 648 | |
| 625 | //----------------------------------------------------------------- | 649 | /*********************************************************************************/ |
| 626 | #pragma·mark·DJIRCHardwareState | 650 | #pragma·mark·DJIRCHardwareState |
| 627 | //----------------------------------------------------------------- | 651 | /*********************************************************************************/ |
| | 652 | |
| 628 | /** | 653 | /** |
| 629 | ·*··Remote·Controller's·current·state. | 654 | ·*··Remote·Controller's·current·state. |
| 630 | ·*/ | 655 | ·*/ |
| ⋮ | ⋮ |
| 692 | ····DJIRCHardwareButton·customButton2; | 717 | ····DJIRCHardwareButton·customButton2; |
| 693 | }·DJIRCHardwareState; | 718 | }·DJIRCHardwareState; |
| 694 | | 719 | |
| 695 | //----------------------------------------------------------------- | 720 | /*********************************************************************************/ |
| 696 | #pragma·mark·DJIRCRemoteFocusControlType | 721 | #pragma·mark·DJIRCRemoteFocusControlType |
| 697 | //----------------------------------------------------------------- | 722 | /*********************************************************************************/ |
| | 723 | |
| 698 | /** | 724 | /** |
| 699 | ·*··Remote·Focus·Control·Type | 725 | ·*··Remote·Focus·Control·Type |
| 700 | ·*/ | 726 | ·*/ |
| ⋮ | ⋮ |
| 709 | ····DJIRCRemoteFocusControlTypeFocalLength, | 735 | ····DJIRCRemoteFocusControlTypeFocalLength, |
| 710 | }; | 736 | }; |
| 711 | | 737 | |
| 712 | //----------------------------------------------------------------- | 738 | /*********************************************************************************/ |
| 713 | #pragma·mark·DJIRCRemoteFocusControlDirection | 739 | #pragma·mark·DJIRCRemoteFocusControlDirection |
| 714 | //----------------------------------------------------------------- | 740 | /*********************************************************************************/ |
| | 741 | |
| 715 | /** | 742 | /** |
| 716 | ·*··Remote·Focus·Control·Direction | 743 | ·*··Remote·Focus·Control·Direction |
| 717 | ·*/ | 744 | ·*/ |
| ⋮ | ⋮ |
| 726 | ····DJIRCRemoteFocusControlDirectionCounterClockwise, | 753 | ····DJIRCRemoteFocusControlDirectionCounterClockwise, |
| 727 | }; | 754 | }; |
| 728 | | 755 | |
| 729 | //----------------------------------------------------------------- | 756 | /*********************************************************************************/ |
| 730 | #pragma·mark·DJIRCRemoteFocusState | 757 | #pragma·mark·DJIRCRemoteFocusState |
| 731 | //----------------------------------------------------------------- | 758 | /*********************************************************************************/ |
| | 759 | |
| 732 | /** | 760 | /** |
| 733 | ·Remote·Controller's·Remote·Focus·State | 761 | ·Remote·Controller's·Remote·Focus·State |
| 734 | · | 762 | · |
| ⋮ | ⋮ |
| 820 | ·* | 848 | ·* |
| 821 | ·*··@return·Remote·Controller's·identifier·as·a·string. | 849 | ·*··@return·Remote·Controller's·identifier·as·a·string. |
| 822 | ·*/ | 850 | ·*/ |
| 823 | -·(NSString·*)RCIdentifier; | 851 | -·(NSString·*_Nullable)RCIdentifier; |
| 824 | | 852 | |
| 825 | @end | 853 | @end |
| 826 | | 854 | |
| ⋮ | ⋮ |
| 845 | ·*··@param·rc····Instance·of·the·Remote·Controller·for·which·the·hardware·state·will·be·updated. | 873 | ·*··@param·rc····Instance·of·the·Remote·Controller·for·which·the·hardware·state·will·be·updated. |
| 846 | ·*··@param·state·Current·state·of·the·Remote·Controller's·hardware·state. | 874 | ·*··@param·state·Current·state·of·the·Remote·Controller's·hardware·state. |
| 847 | ·*/ | 875 | ·*/ |
| 848 | -·(void)remoteController:(DJIRemoteController·*)rc·didUpdateHardwareState:(DJIRCHardwareState)state; | 876 | -·(void)remoteController:(DJIRemoteController·*_Nonnull)rc·didUpdateHardwareState:(DJIRCHardwareState)state; |
| 849 | | 877 | |
| 850 | /** | 878 | /** |
| 851 | ·*··Callback·function·that·updates·the·Remote·Controller's·current·GPS·data. | 879 | ·*··Callback·function·that·updates·the·Remote·Controller's·current·GPS·data. |
| ⋮ | ⋮ |
| 853 | ·*··@param·rc····Instance·of·the·Remote·Controller·for·which·the·GPS·data·will·be·updated. | 881 | ·*··@param·rc····Instance·of·the·Remote·Controller·for·which·the·GPS·data·will·be·updated. |
| 854 | ·*··@param·state·Current·state·of·the·Remote·Controller's·GPS·data. | 882 | ·*··@param·state·Current·state·of·the·Remote·Controller's·GPS·data. |
| 855 | ·*/ | 883 | ·*/ |
| 856 | -·(void)remoteController:(DJIRemoteController·*)rc·didUpdateGpsData:(DJIRCGPSData)gpsData; | 884 | -·(void)remoteController:(DJIRemoteController·*_Nonnull)rc·didUpdateGpsData:(DJIRCGPSData)gpsData; |
| 857 | | 885 | |
| 858 | /** | 886 | /** |
| 859 | ·*··Callback·function·that·updates·the·Remote·Controller's·current·battery·state. | 887 | ·*··Callback·function·that·updates·the·Remote·Controller's·current·battery·state. |
| ⋮ | ⋮ |
| 861 | ·*··@param·rc····Instance·of·the·Remote·Controller·for·which·the·battery·state·will·be·updated. | 889 | ·*··@param·rc····Instance·of·the·Remote·Controller·for·which·the·battery·state·will·be·updated. |
| 862 | ·*··@param·state·Current·state·of·the·Remote·Controller's·battery·state. | 890 | ·*··@param·state·Current·state·of·the·Remote·Controller's·battery·state. |
| 863 | ·*/ | 891 | ·*/ |
| 864 | -·(void)remoteController:(DJIRemoteController·*)rc·didUpdateBatteryState:(DJIRCBatteryInfo)batteryInfo; | 892 | -·(void)remoteController:(DJIRemoteController·*_Nonnull)rc·didUpdateBatteryState:(DJIRCBatteryInfo)batteryInfo; |
| 865 | | 893 | |
| 866 | /** | 894 | /** |
| 867 | ·*··Callback·function·that·gets·called·when·a·slave·Remote·Controller·makes·a·request·to·a·master | 895 | ·*··Callback·function·that·gets·called·when·a·slave·Remote·Controller·makes·a·request·to·a·master |
| ⋮ | ⋮ |
| 870 | ·*··@param·rc····Instance·of·the·Remote·Controller. | 898 | ·*··@param·rc····Instance·of·the·Remote·Controller. |
| 871 | ·*··@param·state·Information·of·the·slave·making·the·request·to·the·master·Remote·Controller. | 899 | ·*··@param·state·Information·of·the·slave·making·the·request·to·the·master·Remote·Controller. |
| 872 | ·*/ | 900 | ·*/ |
| 873 | -·(void)remoteController:(DJIRemoteController·*)rc·didReceiveGimbalControlRequestFromSlave:(DJIRCInfo·*)slave; | 901 | -·(void)remoteController:(DJIRemoteController·*_Nonnull)rc·didReceiveGimbalControlRequestFromSlave:(DJIRCInfo·*_Nonnull)slave; |
| 874 | | 902 | |
| 875 | /** | 903 | /** |
| 876 | ·*··Callback·function·that·updates·the·Remote·Focus·State,·only·support·Focus·product.·If·the·isRCRemoteFocusCheckingSupported·is·YES,·this·delegate·method·will·be·called. | 904 | ·*··Callback·function·that·updates·the·Remote·Focus·State,·only·support·Focus·product.·If·the·isRCRemoteFocusCheckingSupported·is·YES,·this·delegate·method·will·be·called. |
| ⋮ | ⋮ |
| 878 | ·*··@param·rc····Instance·of·the·Remote·Controller·for·which·the·battery·state·will·be·updated. | 906 | ·*··@param·rc····Instance·of·the·Remote·Controller·for·which·the·battery·state·will·be·updated. |
| 879 | ·*··@param·state·Current·state·of·the·Remote·Focus·state. | 907 | ·*··@param·state·Current·state·of·the·Remote·Focus·state. |
| 880 | ·*/ | 908 | ·*/ |
| 881 | -·(void)remoteController:(DJIRemoteController·*)rc·didUpdateRemoteFocusState:(DJIRCRemoteFocusState)remoteFocusState; | 909 | -·(void)remoteController:(DJIRemoteController·*_Nonnull)rc·didUpdateRemoteFocusState:(DJIRCRemoteFocusState)remoteFocusState; |
| 882 | | 910 | |
| 883 | @end | 911 | @end |
| 884 | | 912 | |
| ⋮ | ⋮ |
| 917 | ·*··Gets·the·Remote·Controller's·name. | 945 | ·*··Gets·the·Remote·Controller's·name. |
| 918 | ·* | 946 | ·* |
| 919 | ·*/ | 947 | ·*/ |
| 920 | -·(void)getRCNameWithCompletion:(void·(^)(NSString·*_Nullable·name,·NSError·*_Nullable·error))completion; | 948 | -·(void)getRCNameWithCompletion:(void·(^_Nonnull)(NSString·*_Nullable·name,·NSError·*_Nullable·error))completion; |
| 921 | | 949 | |
| 922 | /** | 950 | /** |
| 923 | ·*··Sets·the·Remote·Controller's·password. | 951 | ·*··Sets·the·Remote·Controller's·password. |
| ⋮ | ⋮ |
| 931 | ·*··Gets·the·Remote·Controller's·password. | 959 | ·*··Gets·the·Remote·Controller's·password. |
| 932 | ·* | 960 | ·* |
| 933 | ·*/ | 961 | ·*/ |
| 934 | -·(void)getRCPasswordWithCompletion:(void·(^)(NSString·*_Nullable·password,·NSError·*_Nullable·error))completion; | 962 | -·(void)getRCPasswordWithCompletion:(void·(^_Nonnull)(NSString·*_Nullable·password,·NSError·*_Nullable·error))completion; |
| 935 | | 963 | |
| 936 | /** | 964 | /** |
| 937 | ·*··Sets·the·Remote·Controller's·control·mode. | 965 | ·*··Sets·the·Remote·Controller's·control·mode. |
| ⋮ | ⋮ |
| 945 | ·*··Gets·the·master·Remote·Controller's·control·mode. | 973 | ·*··Gets·the·master·Remote·Controller's·control·mode. |
| 946 | ·* | 974 | ·* |
| 947 | ·*/ | 975 | ·*/ |
| 948 | -·(void)getRCControlModeWithCompletion:(void·(^)(DJIRCControlMode·mode,·NSError·*_Nullable·error))completion; | 976 | -·(void)getRCControlModeWithCompletion:(void·(^_Nonnull)(DJIRCControlMode·mode,·NSError·*_Nullable·error))completion; |
| 949 | | 977 | |
| 950 | //----------------------------------------------------------------- | 978 | /*********************************************************************************/ |
| 951 | #pragma·mark·RC·pairing | 979 | #pragma·mark·RC·pairing |
| 952 | //----------------------------------------------------------------- | 980 | /*********************************************************************************/ |
| | 981 | |
| 953 | /** | 982 | /** |
| 954 | ·*··Enters·pairing·mode,·in·which·the·Remote·Controller·starts·pairing·with·the·aircraft. | 983 | ·*··Enters·pairing·mode,·in·which·the·Remote·Controller·starts·pairing·with·the·aircraft. |
| 955 | ·*··This·method·is·used·when·the·Remote·Controller·no·longer·recognizes·which·aircraft | 984 | ·*··This·method·is·used·when·the·Remote·Controller·no·longer·recognizes·which·aircraft |
| ⋮ | ⋮ |
| 967 | ·*··Gets·the·pairing·status·as·the·Remote·Controller·is·pairing·with·the·aircraft. | 996 | ·*··Gets·the·pairing·status·as·the·Remote·Controller·is·pairing·with·the·aircraft. |
| 968 | ·* | 997 | ·* |
| 969 | ·*/ | 998 | ·*/ |
| 970 | -·(void)getRCToAircraftPairingStateWithCompletion:(void·(^)(DJIRCToAircraftPairingState·state,·NSError·*_Nullable·error))completion; | 999 | -·(void)getRCToAircraftPairingStateWithCompletion:(void·(^_Nonnull)(DJIRCToAircraftPairingState·state,·NSError·*_Nullable·error))completion; |
| 971 | | 1000 | |
| 972 | //----------------------------------------------------------------- | 1001 | /*********************************************************************************/ |
| 973 | #pragma·mark·RC·gimbal·control | 1002 | #pragma·mark·RC·gimbal·control |
| 974 | //----------------------------------------------------------------- | 1003 | /*********************************************************************************/ |
| | 1004 | |
| 975 | /** | 1005 | /** |
| 976 | ·*··Sets·the·gimbal's·pitch·speed·for·the·Remote·Controller's·upper·left·wheel·(Gimbal·Dial). | 1006 | ·*··Sets·the·gimbal's·pitch·speed·for·the·Remote·Controller's·upper·left·wheel·(Gimbal·Dial). |
| 977 | ·* | 1007 | ·* |
| ⋮ | ⋮ |
| 985 | ·*··Gets·the·gimbal's·pitch·speed·for·the·Remote·Controller's·upper·left·wheel·(Gimbal·Dial). | 1015 | ·*··Gets·the·gimbal's·pitch·speed·for·the·Remote·Controller's·upper·left·wheel·(Gimbal·Dial). |
| 986 | ·* | 1016 | ·* |
| 987 | ·*/ | 1017 | ·*/ |
| 988 | -·(void)getRCWheelGimbalSpeedWithCompletion:(void·(^)(uint8_t·speed,·NSError·*_Nullable·error))completion; | 1018 | -·(void)getRCWheelGimbalSpeedWithCompletion:(void·(^_Nonnull)(uint8_t·speed,·NSError·*_Nullable·error))completion; |
| 989 | | 1019 | |
| 990 | /** | 1020 | /** |
| 991 | ·*··Sets·which·of·the·gimbal·directions·the·top·left·wheel·(Gimbal·Dial)·on·the·Remote·Controller·will·control.·The | 1021 | ·*··Sets·which·of·the·gimbal·directions·the·top·left·wheel·(Gimbal·Dial)·on·the·Remote·Controller·will·control.·The |
| ⋮ | ⋮ |
| 1002 | ·*··Gets·which·of·the·gimbal·directions·the·top·left·wheel·(Gimbal·Dial)·on·the·Remote·Controller·will·control. | 1032 | ·*··Gets·which·of·the·gimbal·directions·the·top·left·wheel·(Gimbal·Dial)·on·the·Remote·Controller·will·control. |
| 1003 | ·* | 1033 | ·* |
| 1004 | ·*/ | 1034 | ·*/ |
| 1005 | -·(void)getRCControlGimbalDirectionWithCompletion:(void·(^)(DJIRCGimbalControlDirection·direction,·NSError·*_Nullable·error))completion; | 1035 | -·(void)getRCControlGimbalDirectionWithCompletion:(void·(^_Nonnull)(DJIRCGimbalControlDirection·direction,·NSError·*_Nullable·error))completion; |
| 1006 | | 1036 | |
| 1007 | //----------------------------------------------------------------- | 1037 | /*********************************************************************************/ |
| 1008 | #pragma·mark·RC·custom·buttons | 1038 | #pragma·mark·RC·custom·buttons |
| 1009 | //----------------------------------------------------------------- | 1039 | /*********************************************************************************/ |
| | 1040 | |
| 1010 | /** | 1041 | /** |
| 1011 | ·*··Sets·custom·button's·(Back·Button's)·tags,·which·can·be·used·by·the·user·to·record·user·settings·for·a·particular·Remote·Controller.·Unlike·all·other·buttons,·switches·and·sticks·on·the·Remote·Controller,·the·custom·buttons·only·send·state·to·the·Mobile·Device·and·not·the·aircraft. | 1042 | ·*··Sets·custom·button's·(Back·Button's)·tags,·which·can·be·used·by·the·user·to·record·user·settings·for·a·particular·Remote·Controller.·Unlike·all·other·buttons,·switches·and·sticks·on·the·Remote·Controller,·the·custom·buttons·only·send·state·to·the·Mobile·Device·and·not·the·aircraft. |
| 1012 | ·* | 1043 | ·* |
| ⋮ | ⋮ |
| 1020 | ·*··Gets·the·custom·button's·(Back·Button's)·tags. | 1051 | ·*··Gets·the·custom·button's·(Back·Button's)·tags. |
| 1021 | ·* | 1052 | ·* |
| 1022 | ·*/ | 1053 | ·*/ |
| 1023 | -·(void)getRCCustomButtonTagWithCompletion:(void·(^)(uint8_t·tag1,·uint8_t·tag2,·NSError·*_Nullable·error))completion; | 1054 | -·(void)getRCCustomButtonTagWithCompletion:(void·(^_Nonnull)(uint8_t·tag1,·uint8_t·tag2,·NSError·*_Nullable·error))completion; |
| 1024 | | 1055 | |
| 1025 | /** | 1056 | /** |
| 1026 | ·*··Set·C1·button·enable·binding·DJI·GO·app·state.·If·it's·enable,·when·user·presses·the·C1·button,·an·alertView·will·pop·up·and·ask·if·you·want·to·open·the·DJI·GO·app.·This·feature·only·supports·MFI·certificated·Remote·Controller. | 1057 | ·*··Set·C1·button·enable·binding·DJI·GO·app·state.·If·it's·enable,·when·user·presses·the·C1·button,·an·alertView·will·pop·up·and·ask·if·you·want·to·open·the·DJI·GO·app.·This·feature·only·supports·MFI·certificated·Remote·Controller. |
| ⋮ | ⋮ |
| 1036 | ·*··Gets·the·C1·button·enable·binding·DJI·Go·app·state.·This·feature·only·supports·MFI·certificated·Remote·Controller. | 1067 | ·*··Gets·the·C1·button·enable·binding·DJI·Go·app·state.·This·feature·only·supports·MFI·certificated·Remote·Controller. |
| 1037 | ·* | 1068 | ·* |
| 1038 | ·*/ | 1069 | ·*/ |
| 1039 | -·(void)·getRCC1ButtonBindingEnabledWithCompletion:(void(^_Nullable)(BOOL·enable,·NSError·*·_Nullable·error))completion; | 1070 | -·(void)·getRCC1ButtonBindingEnabledWithCompletion:(void(^_Nonnull)(BOOL·enable,·NSError·*·_Nullable·error))completion; |
| 1040 | | 1071 | |
| 1041 | //---------------------------------------------------------------- | 1072 | /*********************************************************************************/ |
| 1042 | #pragma·mark·RC·master·and·slave·mode | 1073 | #pragma·mark·RC·master·and·slave·mode |
| 1043 | //----------------------------------------------------------------- | 1074 | /*********************************************************************************/ |
| 1044 | | 1075 | |
| 1045 | /** | 1076 | /** |
| 1046 | ·*··Query·method·to·check·if·the·Remote·Controller·supports·master/slave·mode. | 1077 | ·*··Query·method·to·check·if·the·Remote·Controller·supports·master/slave·mode. |
| ⋮ | ⋮ |
| 1060 | ·*··Gets·the·Remote·Controller's·mode. | 1091 | ·*··Gets·the·Remote·Controller's·mode. |
| 1061 | ·* | 1092 | ·* |
| 1062 | ·*/ | 1093 | ·*/ |
| 1063 | -·(void)getRemoteControllerModeWithCompletion:(void·(^)(DJIRemoteControllerMode·mode,·BOOL·isConnected,·NSError·*_Nullable·error))completion; | 1094 | -·(void)getRemoteControllerModeWithCompletion:(void·(^_Nonnull)(DJIRemoteControllerMode·mode,·BOOL·isConnected,·NSError·*_Nullable·error))completion; |
| 1064 | | 1095 | |
| 1065 | //----------------------------------------------------------------- | 1096 | /*********************************************************************************/ |
| 1066 | #pragma·mark·RC·master·and·slave·mode·-·Slave·RC·methods | 1097 | #pragma·mark·RC·master·and·slave·mode·-·Slave·RC·methods |
| 1067 | //----------------------------------------------------------------- | 1098 | /*********************************************************************************/ |
| 1068 | | 1099 | |
| 1069 | /** | 1100 | /** |
| 1070 | ·*··Used·by·a·slave·Remote·Controller·to·join·a·master·Remote·Controller.·If·the·master·Remote·Controller·accepts·the·request,·the·master·Remote·Controller·will·control·the·aircraft,·and·the·slave·Remote·Controller·will·control·the·gimbal·and/or·be·able·to·view·the·downlink·video. | 1101 | ·*··Used·by·a·slave·Remote·Controller·to·join·a·master·Remote·Controller.·If·the·master·Remote·Controller·accepts·the·request,·the·master·Remote·Controller·will·control·the·aircraft,·and·the·slave·Remote·Controller·will·control·the·gimbal·and/or·be·able·to·view·the·downlink·video. |
| ⋮ | ⋮ |
| 1074 | ·*··@param·password·Master's·password. | 1105 | ·*··@param·password·Master's·password. |
| 1075 | ·*··@param·block····Remote·execution·result·callback·block. | 1106 | ·*··@param·block····Remote·execution·result·callback·block. |
| 1076 | ·*/ | 1107 | ·*/ |
| 1077 | -·(void)joinMasterWithID:(DJIRCID)masterId·masterName:(NSString·*_Nonnull)masterName·masterPassword:(NSString·*_Nonnull)masterPassword·withCompletion:(void·(^)(DJIRCJoinMasterResult·result,·NSError·*_Nullable·error))completion; | 1108 | -·(void)joinMasterWithID:(DJIRCID)masterId·masterName:(NSString·*_Nonnull)masterName·masterPassword:(NSString·*_Nonnull)masterPassword·withCompletion:(void·(^_Nonnull)(DJIRCJoinMasterResult·result,·NSError·*_Nullable·error))completion; |
| 1078 | | 1109 | |
| 1079 | /** | 1110 | /** |
| 1080 | ·*··Returns·the·master·Remote·Controller's·information,·which·includes·the·unique·identifier,·name,·and·password. | 1111 | ·*··Returns·the·master·Remote·Controller's·information,·which·includes·the·unique·identifier,·name,·and·password. |
| 1081 | ·* | 1112 | ·* |
| 1082 | ·*/ | 1113 | ·*/ |
| 1083 | -·(void)getJoinedMasterNameAndPassword:(void·(^)(DJIRCID·masterId,·NSString·*_Nullable·masterName,·NSString·*_Nullable·masterPassword,·NSError·*_Nullable·error))completion; | 1114 | -·(void)getJoinedMasterNameAndPassword:(void·(^_Nonnull)(DJIRCID·masterId,·NSString·*_Nullable·masterName,·NSString·*_Nullable·masterPassword,·NSError·*_Nullable·error))completion; |
| 1084 | | 1115 | |
| 1085 | /** | 1116 | /** |
| 1086 | ·*··Starts·a·search·by·slave·Remote·Controller·for·nearby·master·Remote·Controllers.·To·get·the·list·of·master·Remote·Controllers,·first·call·`getAvailableMastersWithCallbackBlock`,·then·call·`stopMasterRCSearchWithCompletion`·to·end·the·search. | 1117 | ·*··Starts·a·search·by·slave·Remote·Controller·for·nearby·master·Remote·Controllers.·To·get·the·list·of·master·Remote·Controllers,·first·call·`getAvailableMastersWithCallbackBlock`,·then·call·`stopMasterRCSearchWithCompletion`·to·end·the·search. |
| ⋮ | ⋮ |
| 1092 | ·*··Returns·all·available·master·Remote·Controllers·that·are·located·nearby.·Before·this·method·can·be·used,·call·`startMasterRCSearchWithCompletion`·to·start·the·search·for·master·Remote·Controllers.·Once·the·list·of·masters·is·received,·call·`stopMasterRCSearchWithCompletion`·to·end·the·search. | 1123 | ·*··Returns·all·available·master·Remote·Controllers·that·are·located·nearby.·Before·this·method·can·be·used,·call·`startMasterRCSearchWithCompletion`·to·start·the·search·for·master·Remote·Controllers.·Once·the·list·of·masters·is·received,·call·`stopMasterRCSearchWithCompletion`·to·end·the·search. |
| 1093 | ·* | 1124 | ·* |
| 1094 | ·*/ | 1125 | ·*/ |
| 1095 | -·(void)getAvailableMastersWithCompletion:(void·(^)(NSArray<DJIRCInfo·*>·*masters,·NSError·*_Nullable·error))completion; | 1126 | -·(void)getAvailableMastersWithCompletion:(void·(^_Nonnull)(NSArray<DJIRCInfo·*>·*_Nullable·masters,·NSError·*_Nullable·error))completion; |
| 1096 | | 1127 | |
| 1097 | /** | 1128 | /** |
| 1098 | ·*··Used·by·a·slave·Remote·Controller·to·stop·the·search·for·nearby·master·Remote·Controllers. | 1129 | ·*··Used·by·a·slave·Remote·Controller·to·stop·the·search·for·nearby·master·Remote·Controllers. |
| ⋮ | ⋮ |
| 1104 | ·*··Returns·the·state·of·the·master·Remote·Controller·search.·The·search·is·initiated·by·the·Mobile·Device,·but·performed·by·the·Remote·Controller.·Therefore,·if·the·Mobile·Device's·application·crashes·while·a·search·is·ongoing,·this·method·can·be·used·to·let·the·new·instance·of·the·application·understand·the·Remote·Controller·state. | 1135 | ·*··Returns·the·state·of·the·master·Remote·Controller·search.·The·search·is·initiated·by·the·Mobile·Device,·but·performed·by·the·Remote·Controller.·Therefore,·if·the·Mobile·Device's·application·crashes·while·a·search·is·ongoing,·this·method·can·be·used·to·let·the·new·instance·of·the·application·understand·the·Remote·Controller·state. |
| 1105 | ·* | 1136 | ·* |
| 1106 | ·*/ | 1137 | ·*/ |
| 1107 | -·(void)getMasterRCSearchStateWithCompletion:(void·(^)(BOOL·isStarted,·NSError·*_Nullable·error))completion; | 1138 | -·(void)getMasterRCSearchStateWithCompletion:(void·(^_Nonnull)(BOOL·isStarted,·NSError·*_Nullable·error))completion; |
| 1108 | | 1139 | |
| 1109 | /** | 1140 | /** |
| 1110 | ·*··Removes·a·master·Remote·Controller·from·the·current·slave·Remote·Controller. | 1141 | ·*··Removes·a·master·Remote·Controller·from·the·current·slave·Remote·Controller. |
| ⋮ | ⋮ |
| 1118 | ·*··Called·by·the·slave·Remote·Controller·to·request·gimbal·control·from·the·master·Remote·Controller. | 1149 | ·*··Called·by·the·slave·Remote·Controller·to·request·gimbal·control·from·the·master·Remote·Controller. |
| 1119 | ·*·s | 1150 | ·*·s |
| 1120 | ·*/ | 1151 | ·*/ |
| 1121 | -·(void)requestGimbalControlRightWithCompletion:(void·(^)(DJIRCRequestGimbalControlResult·result,·NSError·*_Nullable·error))completion; | 1152 | -·(void)requestGimbalControlRightWithCompletion:(void·(^_Nonnull)(DJIRCRequestGimbalControlResult·result,·NSError·*_Nullable·error))completion; |
| 1122 | | 1153 | |
| 1123 | /** | 1154 | /** |
| 1124 | ·*··Sets·the·Remote·Contoller's·slave·control·mode. | 1155 | ·*··Sets·the·Remote·Contoller's·slave·control·mode. |
| ⋮ | ⋮ |
| 1132 | ·*··Gets·the·Remote·Controller's·slave·control·mode. | 1163 | ·*··Gets·the·Remote·Controller's·slave·control·mode. |
| 1133 | ·* | 1164 | ·* |
| 1134 | ·*/ | 1165 | ·*/ |
| 1135 | -·(void)getSlaveControlModeWithCompletion:(void·(^)(DJIRCControlMode·mode,·NSError·*_Nullable·error))completion; | 1166 | -·(void)getSlaveControlModeWithCompletion:(void·(^_Nonnull)(DJIRCControlMode·mode,·NSError·*_Nullable·error))completion; |
| 1136 | | 1167 | |
| 1137 | /** | 1168 | /** |
| 1138 | ·*··Called·by·the·slave·Remote·Controller·to·set·the·gimbal's·pitch,·roll,·and·yaw·speed·with·a·range·of·[0,·100]. | 1169 | ·*··Called·by·the·slave·Remote·Controller·to·set·the·gimbal's·pitch,·roll,·and·yaw·speed·with·a·range·of·[0,·100]. |
| ⋮ | ⋮ |
| 1146 | ·*··Gets·the·current·slave's·gimbal's·pitch,·roll,·and·yaw·speed·with·a·range·of·[0,·100]. | 1177 | ·*··Gets·the·current·slave's·gimbal's·pitch,·roll,·and·yaw·speed·with·a·range·of·[0,·100]. |
| 1147 | ·* | 1178 | ·* |
| 1148 | ·*/ | 1179 | ·*/ |
| 1149 | -·(void)getSlaveJoystickControlGimbalSpeedWithCompletion:(void·(^)(DJIRCGimbalControlSpeed·speed,·NSError·*_Nullable·error))completion; | 1180 | -·(void)getSlaveJoystickControlGimbalSpeedWithCompletion:(void·(^_Nonnull)(DJIRCGimbalControlSpeed·speed,·NSError·*_Nullable·error))completion; |
| 1150 | | 1181 | |
| 1151 | | 1182 | /*********************************************************************************/ |
| 1152 | //----------------------------------------------------------------- | |
| 1153 | #pragma·mark·RC·master·and·slave·mode·-·Master·RC·methods | 1183 | #pragma·mark·RC·master·and·slave·mode·-·Master·RC·methods |
| 1154 | //----------------------------------------------------------------- | 1184 | /*********************************************************************************/ |
| 1155 | | 1185 | |
| 1156 | /** | 1186 | /** |
| 1157 | ·*··Used·by·the·current·master·Remote·Controller·to·get·all·the·slaves·connected·to·it. | 1187 | ·*··Used·by·the·current·master·Remote·Controller·to·get·all·the·slaves·connected·to·it. |
| ⋮ | ⋮ |
| 1159 | ·*··@param·block·Remote·execution·result·callback·block.·The·arrray·of·slaves·contains·objects | 1189 | ·*··@param·block·Remote·execution·result·callback·block.·The·arrray·of·slaves·contains·objects |
| 1160 | ·*··of·type·`DJIRCInfo`. | 1190 | ·*··of·type·`DJIRCInfo`. |
| 1161 | ·*/ | 1191 | ·*/ |
| 1162 | -·(void)getSlaveListWithCompletion:(void·(^)(NSArray<DJIRCInfo·*>·*slaveList,·NSError·*_Nullable·error))block; | 1192 | -·(void)getSlaveListWithCompletion:(void·(^_Nonnull)(NSArray<DJIRCInfo·*>·*_Nullable·slaveList,·NSError·*_Nullable·error))block; |
| 1163 | | 1193 | |
| 1164 | /** | 1194 | /** |
| 1165 | ·*··Removes·a·slave·Remote·Controller·from·the·current·master·Remote·Controller. | 1195 | ·*··Removes·a·slave·Remote·Controller·from·the·current·master·Remote·Controller. |
| diff --git a/Headers/DJISDK.h b/Headers/DJISDK.h
|
| index 23bd724..753c8f4 100644
|
| 3.1.1/Headers/DJISDK.h | 3.2/Headers/DJISDK.h |
| ⋮ | ⋮ |
| 29 | /*********************************************************************************/ | 29 | /*********************************************************************************/ |
| 30 | #import·<DJISDK/DJIAircraft.h> | 30 | #import·<DJISDK/DJIAircraft.h> |
| 31 | #import·<DJISDK/DJIHandheld.h> | 31 | #import·<DJISDK/DJIHandheld.h> |
| | 32 | #import·<DJISDK/DJIBaseProduct.h> |
| | 33 | |
| | 34 | /*********************************************************************************/ |
| | 35 | #pragma·mark·-·Diagnostics |
| | 36 | /*********************************************************************************/ |
| | 37 | #import·<DJISDK/DJIDiagnostics.h> |
| | 38 | |
| | 39 | /*********************************************************************************/ |
| | 40 | #pragma·mark·-·Utility |
| | 41 | /*********************************************************************************/ |
| | 42 | #import·<DJISDK/DJIParamCapability.h> |
| | 43 | #import·<DJISDK/DJIParamCapabilityMinMax.h> |
| 32 | | 44 | |
| 33 | /*********************************************************************************/ | 45 | /*********************************************************************************/ |
| 34 | #pragma·mark·-·Components | 46 | #pragma·mark·-·Components |
| ⋮ | ⋮ |
| 43 | #import·<DJISDK/DJICompass.h> | 55 | #import·<DJISDK/DJICompass.h> |
| 44 | #import·<DJISDK/DJIIntelligentFlightAssistant.h> | 56 | #import·<DJISDK/DJIIntelligentFlightAssistant.h> |
| 45 | #import·<DJISDK/DJIIMUState.h> | 57 | #import·<DJISDK/DJIIMUState.h> |
| | 58 | #import·<DJISDK/DJIRTK.h> |
| | 59 | #import·<DJISDK/DJISimulator.h> |
| 46 | | 60 | |
| 47 | //----------------------------------------------------------------- | 61 | //----------------------------------------------------------------- |
| 48 | #pragma·mark·RemoteController | 62 | #pragma·mark·RemoteController |
| ⋮ | ⋮ |
| 118 | #import·<DJISDK/DJIRecordVideoStep.h> | 132 | #import·<DJISDK/DJIRecordVideoStep.h> |
| 119 | #import·<DJISDK/DJIShootPhotoStep.h> | 133 | #import·<DJISDK/DJIShootPhotoStep.h> |
| 120 | #import·<DJISDK/DJIGimbalAttitudeStep.h> | 134 | #import·<DJISDK/DJIGimbalAttitudeStep.h> |
| | 135 | #import·<DJISDK/DJIAircraftYawStep.h> |
| 121 | | 136 | |
| 122 | /*********************************************************************************/ | 137 | /*********************************************************************************/ |
| 123 | #pragma·mark·-·Categories | 138 | #pragma·mark·-·Categories |
| diff --git a/Headers/DJITapFlyMission.h b/Headers/DJITapFlyMission.h
|
| index e52fa51..1fc908e 100644
|
| 3.1.1/Headers/DJITapFlyMission.h | 3.2/Headers/DJITapFlyMission.h |
| ⋮ | ⋮ |
| 18 | typedef·struct | 18 | typedef·struct |
| 19 | { | 19 | { |
| 20 | ····/** | 20 | ····/** |
| 21 | ·····*··x·value·of·the·cartesian·vector. | 21 | ·····*··X-value·of·the·cartesian·vector. |
| 22 | ·····*/ | 22 | ·····*/ |
| 23 | ····double·x; | 23 | ····double·x; |
| 24 | ····/** | 24 | ····/** |
| 25 | ·····*··y·value·of·the·cartesian·vector. | 25 | ·····*··Y-value·of·the·cartesian·vector. |
| 26 | ·····*/ | 26 | ·····*/ |
| 27 | ····double·y; | 27 | ····double·y; |
| 28 | ····/** | 28 | ····/** |
| 29 | ·····*··z·value·of·the·cartesian·vector. | 29 | ·····*··Z-value·of·the·cartesian·vector. |
| 30 | ·····*/ | 30 | ·····*/ |
| 31 | ····double·z; | 31 | ····double·z; |
| 32 | }·DJIVector; | 32 | }·DJIVector; |
| diff --git a/Headers/DJIWaypointMission.h b/Headers/DJIWaypointMission.h
|
| index ec081fb..72e10f8 100644
|
| 3.1.1/Headers/DJIWaypointMission.h | 3.2/Headers/DJIWaypointMission.h |
| ⋮ | ⋮ |
| 63 | ····/** | 63 | ····/** |
| 64 | ·····*··Aircraft·has·returned·to·the·first·waypoint.·This·happens·when·the·`finishedAction`·is·set·to·`JIWaypointMissionFinishedGoFirstWaypoint`. | 64 | ·····*··Aircraft·has·returned·to·the·first·waypoint.·This·happens·when·the·`finishedAction`·is·set·to·`JIWaypointMissionFinishedGoFirstWaypoint`. |
| 65 | ·····*/ | 65 | ·····*/ |
| 66 | ····DJIWaypointMissionExecuteStateReturnToFirstWaypoint | 66 | ····DJIWaypointMissionExecuteStateReturnToFirstWaypoint, |
| | 67 | ····/** |
| | 68 | ·····*··The·mission·is·currently·paused·by·the·user. |
| | 69 | ·····*/ |
| | 70 | ····DJIWaypointMissionExecuteStatePaused, |
| 67 | }; | 71 | }; |
| 68 | | 72 | |
| 69 | /** | 73 | /** |
| ⋮ | ⋮ |
| 195 | ·*/ | 199 | ·*/ |
| 196 | | 200 | |
| 197 | @interface·DJIWaypointMission·:·DJIMission | 201 | @interface·DJIWaypointMission·:·DJIMission |
| | 202 | |
| 198 | /*********************************************************************************/ | 203 | /*********************************************************************************/ |
| 199 | #pragma·mark·-·Mission·Presets | 204 | #pragma·mark·-·Mission·Presets |
| 200 | /*********************************************************************************/ | 205 | /*********************************************************************************/ |
| diff --git a/Headers/DJIWiFiLink.h b/Headers/DJIWiFiLink.h
|
| index 40ea785..9469d3f 100644
|
| 3.1.1/Headers/DJIWiFiLink.h | 3.2/Headers/DJIWiFiLink.h |
| ⋮ | ⋮ |
| 36 | ····/** | 36 | ····/** |
| 37 | ·····*··WiFi·Signal·Quality·is·good. | 37 | ·····*··WiFi·Signal·Quality·is·good. |
| 38 | ·····*/ | 38 | ·····*/ |
| 39 | ····DJIWiFiSignalQualityGood·=·0, | 39 | ····DJIWiFiSignalQualityGood, |
| 40 | ····/** | 40 | ····/** |
| 41 | ·····*··WiFi·Signal·Quality·is·medium.·At·this·level,·the·video·quality·will·be·degraded·compared·to·when·the·signal·quality·is·good. | 41 | ·····*··WiFi·Signal·Quality·is·medium.·At·this·level,·the·video·quality·will·be·degraded·compared·to·when·the·signal·quality·is·good. |
| 42 | ·····*/ | 42 | ·····*/ |
| 43 | ····DJIWiFiSignalQualityMedium·=·1, | 43 | ····DJIWiFiSignalQualityMedium, |
| 44 | ····/** | 44 | ····/** |
| 45 | ·····*··WiFi·Signal·Quality·is·bad.·At·this·level,·the·video·quality·will·be·degraded·compared·to·when·the·signal·quality·is·medium. | 45 | ·····*··WiFi·Signal·Quality·is·bad.·At·this·level,·the·video·quality·will·be·degraded·compared·to·when·the·signal·quality·is·medium. |
| 46 | ·····*/ | 46 | ·····*/ |
| 47 | ····DJIWiFiSignalQualityBad·=·2, | 47 | ····DJIWiFiSignalQualityBad, |
| 48 | ····/** | 48 | ····/** |
| 49 | ·····*··WiFi·Signal·Quality·is·Unknown. | 49 | ·····*··WiFi·Signal·Quality·is·Unknown. |
| 50 | ·····*/ | 50 | ·····*/ |
| ⋮ | ⋮ |
| 72 | -·(void)wifiLink:(DJIWiFiLink·*_Nonnull)link·didUpdatesWiFiSignalQuality:(DJIWiFiSignalQuality)quality; | 72 | -·(void)wifiLink:(DJIWiFiLink·*_Nonnull)link·didUpdatesWiFiSignalQuality:(DJIWiFiSignalQuality)quality; |
| 73 | @end | 73 | @end |
| 74 | | 74 | |
| 75 | //----------------------------------------------------------------- | 75 | /*********************************************************************************/ |
| 76 | #pragma·mark·WiFi·Component | 76 | #pragma·mark·WiFi·Component |
| 77 | //----------------------------------------------------------------- | 77 | /*********************************************************************************/ |
| 78 | | 78 | |
| 79 | /** | 79 | /** |
| 80 | ·*··This·class·provides·methods·to·change·the·setting·of·the·product's·WiFi.·You·can·also·reboot·the·WiFi·adapter·inside·product·in·order·to·make·the·new·setting·take·effect. | 80 | ·*··This·class·provides·methods·to·change·the·setting·of·the·product's·WiFi.·You·can·also·reboot·the·WiFi·adapter·inside·product·in·order·to·make·the·new·setting·take·effect. |
| ⋮ | ⋮ |
| 93 | ·*/ | 93 | ·*/ |
| 94 | -·(void)rebootWiFiWithCompletion:(DJICompletionBlock)block; | 94 | -·(void)rebootWiFiWithCompletion:(DJICompletionBlock)block; |
| 95 | | 95 | |
| 96 | //----------------------------------------------------------------- | 96 | /*********************************************************************************/ |
| 97 | #pragma·mark·SSID·and·Password | 97 | #pragma·mark·SSID·and·Password |
| 98 | //----------------------------------------------------------------- | 98 | /*********************************************************************************/ |
| | 99 | |
| 99 | /** | 100 | /** |
| 100 | ·*··Gets·the·WiFi·SSID. | 101 | ·*··Gets·the·WiFi·SSID. |
| 101 | ·* | 102 | ·* |
| 102 | ·*··@param·block·Remote·execution·result·error·block. | 103 | ·*··@param·block·Remote·execution·result·error·block. |
| 103 | ·*/ | 104 | ·*/ |
| 104 | -·(void)getWiFiSSIDWithCompletion:(void·(^)(NSString·*ssid,·NSError·*_Nullable·error))block; | 105 | -·(void)getWiFiSSIDWithCompletion:(void·(^_Nonnull)(NSString·*_Nullable·ssid,·NSError·*_Nullable·error))block; |
| 105 | | 106 | |
| 106 | /** | 107 | /** |
| 107 | ·*··Sets·the·`WiFi·SSID. | 108 | ·*··Sets·the·`WiFi·SSID. |
| ⋮ | ⋮ |
| 110 | ·*··@param·block·Remote·execution·result·error·block. | 111 | ·*··@param·block·Remote·execution·result·error·block. |
| 111 | ·* | 112 | ·* |
| 112 | ·*/ | 113 | ·*/ |
| 113 | -·(void)setWiFiSSID:(NSString·*)ssid·withCompletion:(DJICompletionBlock)block; | 114 | -·(void)setWiFiSSID:(NSString·*_Nonnull)ssid·withCompletion:(DJICompletionBlock)block; |
| 114 | | 115 | |
| 115 | /** | 116 | /** |
| 116 | ·*··Gets·the·WiFi·Password. | 117 | ·*··Gets·the·WiFi·Password. |
| 117 | ·* | 118 | ·* |
| 118 | ·*··@param·block·Remote·execution·result·error·block. | 119 | ·*··@param·block·Remote·execution·result·error·block. |
| 119 | ·*/ | 120 | ·*/ |
| 120 | -·(void)getWiFiPasswordWithCompletion:(void·(^)(NSString·*password,·NSError·*_Nullable·error))block; | 121 | -·(void)getWiFiPasswordWithCompletion:(void·(^_Nonnull)(NSString·*_Nullable·password,·NSError·*_Nullable·error))block; |
| 121 | | 122 | |
| 122 | /** | 123 | /** |
| 123 | ·*··Sets·the·WiFi·Password. | 124 | ·*··Sets·the·WiFi·Password. |
| ⋮ | ⋮ |
| 125 | ·*··@param·password·The·new·WiFi·password.·It·must·be·at·least·8·characters·and·can·only·includes·alphabetic·characters·and·numbers. | 126 | ·*··@param·password·The·new·WiFi·password.·It·must·be·at·least·8·characters·and·can·only·includes·alphabetic·characters·and·numbers. |
| 126 | ·*··@param·block·Remote·execution·result·error·block. | 127 | ·*··@param·block·Remote·execution·result·error·block. |
| 127 | ·*/ | 128 | ·*/ |
| 128 | -·(void)setWiFiPassword:(NSString·*)password·withCompletion:(DJICompletionBlock)block; | 129 | -·(void)setWiFiPassword:(NSString·*_Nullable)password·withCompletion:(DJICompletionBlock)block; |
| 129 | | 130 | |
| 130 | | 131 | |
| 131 | //----------------------------------------------------------------- | 132 | /*********************************************************************************/ |
| 132 | #pragma·mark·Frequency·Band·Selection | 133 | #pragma·mark·Frequency·Band·Selection |
| 133 | //----------------------------------------------------------------- | 134 | /*********************************************************************************/ |
| | 135 | |
| 134 | /** | 136 | /** |
| 135 | ·*··YES·if·the·product·allows·the·user·to·change·WiFi·frequency·bands. | 137 | ·*··YES·if·the·product·allows·the·user·to·change·WiFi·frequency·bands. |
| 136 | ·*··Only·Osmo·supports·this·feature. | 138 | ·*··Only·Osmo·supports·this·feature. |
| ⋮ | ⋮ |
| 152 | ·* | 154 | ·* |
| 153 | ·*··@param·block·Remote·execution·result·error·block. | 155 | ·*··@param·block·Remote·execution·result·error·block. |
| 154 | ·*/ | 156 | ·*/ |
| 155 | -·(void)getWiFiFrequencyBandWithCompletion:(void·(^)(DJIWiFiFrequencyBand·frequencyBand,·NSError·*_Nullable·error))block; | 157 | -·(void)getWiFiFrequencyBandWithCompletion:(void·(^_Nonnull)(DJIWiFiFrequencyBand·frequencyBand,·NSError·*_Nullable·error))block; |
| 156 | | 158 | |
| 157 | | 159 | |
| 158 | @end | 160 | @end |
| diff --git a/Headers/NSError+DJISDK.h b/Headers/NSError+DJISDK.h
|
| index 3967637..19c36ba 100644
|
| 3.1.1/Headers/NSError+DJISDK.h | 3.2/Headers/NSError+DJISDK.h |
| ⋮ | ⋮ |
| 46 | ·*/ | 46 | ·*/ |
| 47 | FOUNDATION_EXPORT·NSString·*_Nonnull·const·DJISDKRegistrationErrorDomain; | 47 | FOUNDATION_EXPORT·NSString·*_Nonnull·const·DJISDKRegistrationErrorDomain; |
| 48 | | 48 | |
| 49 | //----------------------------------------------------------------- | 49 | /*********************************************************************************/ |
| 50 | #pragma·mark·DJISDKRegistrationError | 50 | #pragma·mark·DJISDKRegistrationError |
| 51 | //----------------------------------------------------------------- | 51 | /*********************************************************************************/ |
| | 52 | |
| 52 | /** | 53 | /** |
| 53 | ·*··The·Error·of·SDK·Registration | 54 | ·*··The·Error·of·SDK·Registration |
| 54 | ·*/ | 55 | ·*/ |
| ⋮ | ⋮ |
| 149 | ····DJISDKRegistrationErrorUnknown·=·-999L | 150 | ····DJISDKRegistrationErrorUnknown·=·-999L |
| 150 | }; | 151 | }; |
| 151 | | 152 | |
| 152 | //----------------------------------------------------------------- | 153 | /*********************************************************************************/ |
| 153 | #pragma·mark·DJISDKError | 154 | #pragma·mark·DJISDKError |
| 154 | //----------------------------------------------------------------- | 155 | /*********************************************************************************/ |
| | 156 | |
| 155 | /** | 157 | /** |
| 156 | ·*··DJI·SDK·Error | 158 | ·*··DJI·SDK·Error |
| 157 | ·*/ | 159 | ·*/ |
| ⋮ | ⋮ |
| 234 | ····DJISDKErrorNotDefined·=·-1999L, | 236 | ····DJISDKErrorNotDefined·=·-1999L, |
| 235 | }; | 237 | }; |
| 236 | | 238 | |
| 237 | //----------------------------------------------------------------- | 239 | /*********************************************************************************/ |
| 238 | #pragma·mark·DJISDKCameraError | 240 | #pragma·mark·DJISDKCameraError |
| 239 | //----------------------------------------------------------------- | 241 | /*********************************************************************************/ |
| | 242 | |
| 240 | /** | 243 | /** |
| 241 | ·*··DJI·SDK·Camera·Error | 244 | ·*··DJI·SDK·Camera·Error |
| 242 | ·*/ | 245 | ·*/ |
| ⋮ | ⋮ |
| 302 | ·····*/ | 305 | ·····*/ |
| 303 | ····DJISDKCameraErrorNoPermission·=·-3014L, | 306 | ····DJISDKCameraErrorNoPermission·=·-3014L, |
| 304 | ····/** | 307 | ····/** |
| 305 | ·····*··The·download·process·of·DJIPlaybackManager·is·interrupted·unexpectly. | 308 | ·····*··The·download·process·of·DJIPlaybackManager·is·interrupted. |
| | 309 | ·····*/ |
| | 310 | ····DJISDKCameraErrorPlaybackDownloadInterruption·=·-3015L, |
| | 311 | ····/** |
| | 312 | ·····*··There·is·no·downloading·files·to·stop.· |
| 306 | ·····*/ | 313 | ·····*/ |
| 307 | ····DJISDKCameraErrorPlaybackDownloadInterruption·=·-3015L | 314 | ····DJISDKCameraErrorPlaybackNoDownloadingFiles·=·-3016L, |
| 308 | }; | 315 | }; |
| 309 | | 316 | |
| 310 | //----------------------------------------------------------------- | 317 | /*********************************************************************************/ |
| 311 | #pragma·mark·DJISDKFlightControllerError | 318 | #pragma·mark·DJISDKFlightControllerError |
| 312 | //----------------------------------------------------------------- | 319 | /*********************************************************************************/ |
| | 320 | |
| 313 | /** | 321 | /** |
| 314 | ·*··DJI·SDK·Flight·Controller·Error | 322 | ·*··DJI·SDK·Flight·Controller·Error |
| 315 | ·*/ | 323 | ·*/ |
| ⋮ | ⋮ |
| 410 | ·····*··The·aircraft·is·not·at·go·home·state. | 418 | ·····*··The·aircraft·is·not·at·go·home·state. |
| 411 | ·····*/ | 419 | ·····*/ |
| 412 | ····DJISDKFlightControllerErrorAircraftNotGoingHome·=·-4022L, | 420 | ····DJISDKFlightControllerErrorAircraftNotGoingHome·=·-4022L, |
| | 421 | ····/** |
| | 422 | ·····*··RTK·cannot·start·properly.·Please·reboot. |
| | 423 | ·····*/ |
| | 424 | ····DJISDKFlightControllerErrorRTKStartError·=·-4023L, |
| | 425 | ····/** |
| | 426 | ·····*··Connection·between·base·station·and·mobile·station·is·broken.· |
| | 427 | ·····*/ |
| | 428 | ····DJISDKFlightControllerErrorRTKConnectionBroken·=·-4024L, |
| | 429 | ····/** |
| | 430 | ·····*··RTK·base·station·antenna·error.·Check·if·the·antenna·is·connected·to·the·correct·port.· |
| | 431 | ·····*/ |
| | 432 | ····DJISDKFlightControllerErrorRTKBSAntennaError·=·-4025L, |
| | 433 | ····/** |
| | 434 | ·····*··RTK·base·station's·coordinate·resets. |
| | 435 | ·····*/ |
| | 436 | ····DJISDKFlightControllerErrorRTKBSCoordinatesReset·=·-4026L, |
| 413 | }; | 437 | }; |
| 414 | | 438 | |
| 415 | //----------------------------------------------------------------- | 439 | /*********************************************************************************/ |
| 416 | #pragma·mark·DJISDKMissionError | 440 | #pragma·mark·DJISDKMissionError |
| 417 | //----------------------------------------------------------------- | 441 | /*********************************************************************************/ |
| | 442 | |
| 418 | /** | 443 | /** |
| 419 | ·*··DJI·SDK·Mission·Error | 444 | ·*··DJI·SDK·Mission·Error |
| 420 | ·*/ | 445 | ·*/ |